【发布时间】:2012-12-13 16:33:04
【问题描述】:
在专门为特定 URL 编写重写规则以从中删除尾部斜杠时,会发生无限重定向循环。
以下是我尝试在 .htaccess 中编写的代码:
RewriteRule ^abc.php /abc/ [R=301,L,NC,QSA]
RewriteRule ^abc/ abc.php [NC,QSA]
我正在尝试将 abc.php 上的 301 重定向到 abc/,但只想为 abc/ 提供 abc.php 的内容。只想专门为这个 url 写一个规则。
【问题讨论】:
-
如果我没听错的话,您想在特定情况下从 URL 中隐藏
.php,不是吗? -
是的,但我也想将 301 重定向到 abc/ 并希望仅将此规则应用于 abc.php
-
把规则的顺序倒过来怎么样?如
RewriteRule ^abc/ abc.php [NC,L,QSA]之前的RewriteRule ^abc.php /abc/ [R=301,L,NC,QSA]。由于所需的 URL 是 /abc/ 并且从上到下读取规则 -
它不起作用..不会改变发生的流程
-
无论如何,这是我尝试过的,我认为它已在我的机器上修复了它,但让我知道它是怎么回事!基本上我将
?添加到^abc/中的/成为RewriteRule ^abc/? abc.php [NC,QSA]。
标签: php .htaccess mod-rewrite http-status-code-301