我正在尝试将example.com/test
重写为example.com/pages/test.php
(依此类推)。
我已经制作了这段代码:
RewriteEngine on
RewriteRule ^(.*) /pages/$1.php
这不起作用:Apache给了我这个错误:
由于可能的配置错误,请求超出了10个内部重定向的限制。如有必要,使用'LimitInternalRecursion'增加限制。使用“LogLevel debug”获取回溯。
我不知道该如何继续。
答案 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]。