Regex 删除尾随的反斜杠会移动到子目录的前面
我将这一行添加到.htaccess文件中以删除尾随的反斜杠:Regex 删除尾随的反斜杠会移动到子目录的前面,regex,apache,.htaccess,mod-rewrite,Regex,Apache,.htaccess,Mod Rewrite,我将这一行添加到.htaccess文件中以删除尾随的反斜杠: RedirectMatch 301 ^(.*)/$ /$1 但它会导致反斜杠移到子目录的后面(域的前面) 因此,如果我键入:localhost/subfolder/ 进入地址栏并按enter键,结果如下: localhost//subfolder 我也试过了 RewriteRule^(+)/$/$1[R=301,L] 但这也有同样的问题(和其他问题)。任何人都知道为什么会这样。谢谢你的阅读 p、 我使用的是apache2.4.4
RedirectMatch 301 ^(.*)/$ /$1
但它会导致反斜杠移到子目录的后面(域的前面)
因此,如果我键入:localhost/subfolder/
进入地址栏并按enter键,结果如下:
localhost//subfolder
我也试过了
RewriteRule^(+)/$/$1[R=301,L]
但这也有同样的问题(和其他问题)。任何人都知道为什么会这样。谢谢你的阅读
p、 我使用的是apache2.4.4,因为重定向匹配中的URI以斜杠开头,所以可以使用以下规则:
RedirectMatch 301 ^(.*)/$ $1
但更好的方法是使用mod\u rewrite
规则将目录从该规则中排除:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{THE_REQUEST} \s(.+?)/+[?\s]
RewriteRule ^ %1 [R=301,NE,L]
嘿,谢谢,我用了复接器,它工作得很好,我以前的那个一直搞砸。但这是完美的。非常感谢你的回答是斜杠(或正斜杠)。\是反斜杠。请使用正确的术语。