【问题标题】:Trailing slash at end of URL wordpressURL wordpress 末尾的斜杠
【发布时间】:2017-11-22 07:37:29
【问题描述】:

亲爱的,

我想在网站的每个 url 末尾添加 /,下面是我在网上找到的,效果很好,但在 wp-admin 中它给了我wp-admin/index.php/index.php/。就像我每次点击仪表板一样,它会添加/index.php/

来自 htaccess 的代码

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

RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1/ [L,R=301]
</IfModule>

请指教。

谢谢

【问题讨论】:

    标签: php wordpress .htaccess


    【解决方案1】:

    在默认 WP 规则之前保留重定向规则:

    RewriteEngine On
    RewriteBase /
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_URI} !/$
    RewriteRule ^ http://%{HTTP_HOST}%{REQUEST_URI}/ [L,R=301,NE]
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    

    确保使用新的浏览器进行测试。

    【讨论】:

    • 我不确定上面的代码,当没有添加 / 时,它会在页面上找不到。有/没关系。但后来我修改了规则以喜欢我的帖子。 RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1/ [L,R=301] 现在开始工作了。并且 wp-admin 没有给出多个 index.php。谢谢
    • 你能解释一下RewriteRule ^ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE] 和我添加的那个之间的区别吗?谢谢
    • 我忘记在我的规则中在%{REQUEST_URI} 之后添加/。它现在已编辑,应该可以工作。 %{REQUEST_URI} 是保留的 mod_rewrite 变量,具有完整请求 uri 的值。如果您在站点根目录 .htaccess 中有此规则,那么在 RewriteRule 之后的 (.*) 也将具有完整请求 URI 的值,而没有前导斜杠。
    猜你喜欢
    • 1970-01-01
    • 2012-10-27
    • 2016-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-22
    • 2011-02-18
    相关资源
    最近更新 更多