【问题标题】:htaccess - remove trailing slash for one specific pagehtaccess - 删除一个特定页面的尾部斜杠
【发布时间】:2013-11-12 19:27:58
【问题描述】:

我有一个 WP 网站,一切都很好。然后我有一个名为“landing-page.php”的独立登录页面,它位于根目录中。

我需要删除 .php 和尾部斜杠才能加载页面。我只想删除此特定页面的尾部斜杠。我无法更改保存此页面的目录,因为我有已使用 /landing-page/ 配置的广告活动,因此未经重新批准等我无法更改这些

我有以下代码,但它有点工作...我无法访问/wp-admin。

所以我只需要适用于这个着陆页的规则:

RewriteEngine On
RewriteRule ^(.*)/$ /$1 [L,R=301]
RewriteRule ^landing-page$ landing-page.php [L]


# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

</IfModule>
# END WordPress

请帮忙...谢谢

【问题讨论】:

    标签: apache .htaccess mod-rewrite


    【解决方案1】:

    你的意思是去掉这条线:

    RewriteRule ^(.*)/$ /$1 [L,R=301]
    

    并将下一行更改为:

    RewriteRule ^landing-page/?$ landing-page.php [L]
    

    ?

    不确定问题出在哪里,但第一行可能是问题所在,因为它匹配 everything 与尾部斜杠。但是,如果您想规范化尾部斜杠,只需使其与 landing-page 匹配即可:

    RewriteRule ^landing-page/$ /landing-page [L,R=301]
    

    【讨论】:

      【解决方案2】:

      将您的前 2 条规则替换为:

      RewriteRule ^(landing-page)/$ /$1 [NC,L,R=301]
      RewriteRule ^landing-page$ landing-page.php [L,NC]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-01-15
        • 1970-01-01
        • 2011-05-09
        • 2014-07-20
        • 2022-01-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多