当从URL中删除/添加尾斜杠时发生重定向循环


Redirect loop occuring while removing/adding trailing Slash from URL

当专门为特定URL编写重写规则以删除末尾的斜杠时,会发生无限重定向循环。

下面是我试图在。htaccess中编码的代码:

RewriteRule ^abc.php /abc/ [R=301,L,NC,QSA]
RewriteRule ^abc/ abc.php [NC,QSA]

我正试图使abc.php 301重定向到abc/但想服务abc/与abc.php的内容只有。

如果你用RewriteCond检查浏览器发送给服务器的HTTP请求行(参见这里和这里),你可以打破这个无限循环,此外,你颠倒规则的顺序:

RewriteRule ^abc/ abc.php [L,QSA]
RewriteCond %{THE_REQUEST} ^GET' /abc'.php
RewriteRule ^abc.php$ /abc/ [R=301, QSA]

试试这个:

<>之前RewriteEngine上abc/RewriteRule ^吗?abc.php(数控,L, QSA)rewriterrule ^abc.php/abc/[R=301,QSA]之前

希望有帮助!