在专门为特定URL编写重写规则以从中删除尾部斜杠时,会发生无限重定向循环。
以下是我尝试编写的代码.htaccess:
RewriteRule ^abc.php /abc/ [R=301,L,NC,QSA]
RewriteRule ^abc/ abc.php [NC,QSA]
我正在尝试将abc.php上的301重定向设为abc /但是只想使用abc.php的内容来提供abc /。想要专门为此网址编写规则。
答案 0 :(得分:2)
如果您检查浏览器使用RewriteCond
发送到服务器的HTTP请求行(请参阅here和here),您可以打破无限循环,此外,你颠倒了规则的顺序:
RewriteRule ^abc/ abc.php [L,QSA]
RewriteCond %{THE_REQUEST} ^GET\ /abc\.php
RewriteRule ^abc.php$ /abc/ [R=301, QSA]
答案 1 :(得分:0)
试试这个:
RewriteEngine On RewriteRule ^abc/? abc.php [NC,L,QSA] RewriteRule ^abc.php /abc/ [R=301,QSA]
希望它有所帮助!