【发布时间】:2013-10-23 12:26:58
【问题描述】:
我在 apache 错误日志中收到此错误:
Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.
我的.htaccess 文件如下所示:
AddDefaultCharset UTF-8
RewriteEngine on
RewriteRule ^view/([A-Za-z0-9-]+)/?$ view.php?id=$1 [NC,L]
RewriteRule ^report/([A-Za-z0-9-]+)/?$ report.php?id=$1 [NC,L]
RewriteRule ^verifyAccount/([A-Za-z0-9-]+)/?$ verifyAccount.php?hash=$1 [NC,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
RewriteCond %{HTTP_HOST} !^www.nitrobit.net$ [NC]
RewriteRule ^(.*)$ http://www.nitrobit.net/$1 [L,R=301]
我用谷歌搜索了这个问题,我看到一些人的解决方案是在 htaccess 文件中添加这一行:RewriteBase /。我做到了,错误仍然存在。
解决办法是什么?非常感谢你,对不起我的英语
【问题讨论】:
-
一遍又一遍地找出匹配的规则(将它们逐一注释,直到错误消失)。过去在特定情况下,我遇到了最后一条规则的麻烦(我相信当存在具有特定名称而不是文件的目录时,
%{REQUEST_FILENAME}\.php -f将返回 true。我会添加一个额外的条件URI 不能以.php结尾。
标签: php .htaccess configuration