0

我正在尝试重写example.com/testexample.com/pages/test.php等等)。

我制作了这段代码:

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

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

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

我不知道该怎么做。

4

2 回答 2

1

Apache 正在重写/test/pages/test.php,然后尝试将其重写为/pages/pages/test.php.php,然后/pages/pages/pages/test.php.php.php以此类推...

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

通常,您还需要如下几个 Rewrite 条件来防止您实际上不想重写的重写(对于图像、脚本等):

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*) /pages/$1.php [L]
于 2013-05-13T13:36:03.470 回答
0

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

于 2013-05-13T13:31:47.953 回答