1

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

以下是我尝试在 .htaccess 中编写的代码:

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

我正在尝试在 abc.php 上将 301 重定向到 abc/,但只想为 abc/ 提供 abc.php 的内容。只想专门为此网址编写规则。

4

2 回答 2

2

如果您使用 a 检查由浏览器发送到服务器的 HTTP 请求行(参见此处此处RewriteCond),您可以打破无限循环,此外,您还可以颠倒规则的顺序:

RewriteRule ^abc/ abc.php [L,QSA]
RewriteCond %{THE_REQUEST} ^GET\ /abc\.php
RewriteRule ^abc.php$ /abc/ [R=301, QSA]
于 2012-12-28T14:30:16.763 回答
0

试试这个 :

重写引擎开启

重写规则 ^abc/? abc.php [NC,L,QSA]
重写规则 ^abc.php /abc/ [R=301,QSA]

希望能帮助到你!

于 2012-12-28T14:19:57.160 回答