我将此行添加到我的.htaccess文件中以删除尾部反斜杠:
RedirectMatch 301 ^(.*)/$ /$1
但它会导致反斜杠移动到子目录的后面(在域前面)。
所以,如果我输入:localhost/subfolder/
进入地址栏并按回车键结果是这样的:
localhost//subfolder
我也试过
RewriteRule ^(.+)/$ /$1 [R=301,L]
但这有同样的问题(和其他问题)。任何人都知道为什么会这样。谢谢你的阅读
P.S。我正在使用apache2.4.4
答案 0 :(得分:1)
由于RedirectMatch
中的URI以前导斜杠开头,因此您可以使用此规则:
RedirectMatch 301 ^(.*)/$ $1
但最好是使用mod_rewrite
规则从此规则中排除目录:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{THE_REQUEST} \s(.+?)/+[?\s]
RewriteRule ^ %1 [R=301,NE,L]