我在.htaccess
中有以下内容。文件:
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_URI} !^/css(/?|/.+)$
RewriteCond %{REQUEST_URI} !^/js(/?|/.+)$
RewriteCond %{REQUEST_URI} !^/img(/?|/.+)$
RewriteRule !^/handle\.php$ /handle.php [L]
我只想将所有请求(以/css/
,/js/
和/img/
开头的请求除外)发送到handle.php
。< / p>
但是当我提出请求时,我收到500错误,并在错误日志中打印:
[Sat Mar 24 16:14:53 2012] [error] [client x.x.x.x] 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.
为什么会陷入无限循环?
答案 0 :(得分:1)
可能重写对/handle.php的请求与!^/handle\.php$
不匹配,因此它会尝试重写重写等。您的问题可能是主要的斜杠?试着玩弄它。
如果没有,请查看RewriteLog指令(并查看下面的条目,RewriteLogLevel)。您将能够看到正在尝试重写的内容,并且您可能能够找出出现了什么问题。