URL重写失败:内部重定向

时间:2013-05-13 13:30:42

标签: apache .htaccess mod-rewrite

我正在尝试将example.com/test重写为example.com/pages/test.php(依此类推)。

我已经制作了这段代码:

RewriteEngine on
RewriteRule ^(.*) /pages/$1.php

这不起作用:Apache给了我这个错误:

  

由于可能的配置错误,请求超出了10个内部重定向的限制。如有必要,使用'LimitInternalRecursion'增加限制。使用“LogLevel debug”获取回溯。

我不知道该如何继续。

2 个答案:

答案 0 :(得分:1)

Apache将/test重写为/pages/test.php,然后尝试将其重写为/pages/pages/test.php.php,然后/pages/pages/pages/test.php.php.php等等......

添加[L]标志以在第一个之后停止重写。

一般情况下,您还需要一些重写条件,以防止您实际不想重写的重写(对于图像,脚本等):

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*) /pages/$1.php [L]

答案 1 :(得分:0)

它在循环。尝试在RewriteRule的末尾添加[L]。