我对整个.htaccess事情都很陌生,我一直在努力修改它,这样我的链接就不会在各自的URL末尾加上斜杠。我的网站是filmblurb.org。
Wordpress开始和结束的.htaccess代码如下所示:
# 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
如果有人能够指导我如何解决这个问题,我将不胜感激。感谢。
答案 0 :(得分:8)
您可以添加RewriteRule来消除尾部斜杠:
RewriteRule ^(.*)/$ $1 [R=301,L]
答案 1 :(得分:2)
问题不是由.htaccess引起的,而是由wordpress永久链接和.htaccess组合引起的。
登录到您的站点并导航到永久链接,然后如果您没有使用自定义结构选项,请切换到它并确保最后没有尾部斜杠:
/%category%/%postname%
然后将其添加到您的.htaccess文件中
RedirectMatch 301 ^(.*)/$ /$1
这比使用重写更好,因为它是重定向而不是重写。
如果仍然无效,我建议您安装yoast seo插件,并在其中设置一个设置。
答案 2 :(得分:0)
这对我有用;从所有路由中删除所有尾部斜杠,同时强调REQUEST_URI以斜杠开头(至少在.htaccess文件中):
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} /(.*)/$
RewriteRule ^ /%1 [R=301,L]
不要使用 %{REQUEST_URI} (.*)/$
。因为在根目录中REQUEST_URI等于/,前导斜杠,并且它会被误解为尾部斜杠。