我在我的网站项目中使用下一个.htaccess文件。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME}% !-d
RewriteCond %{REQUEST_FILENAME}% !-f
RewriteCond %{REQUEST_FILENAME}% !-l
#RewriteLogLevel 9
RewriteRule \.(css|jpe?g|gif|png|js|ods|odt|doc?x|xls|pdf|eot|svg|ttf|woff|less|xml|gz)$ - [L]
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
here
这总是很好,但今天我的托管服务做了一些改变(我认为),现在我的网络上有500错误。 我联系了他们,他们告诉我该网站有下一个错误日志。
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.
有人可以告诉我,我该怎么做才能解决这个问题?我在其他帖子中看到可能我的RewriteRule可能更好,但我不知道。
感谢。
PD:抱歉,我的英语不好。答案 0 :(得分:0)
由于无效的RewriteConds,您的重写规则无条件地重写了对/index.php的所有请求。改变这种行为只需删除"%"来自测试字符串:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
#RewriteLogLevel 9
RewriteRule \.(css|jpe?g|gif|png|js|ods|odt|doc?x|xls|pdf|eot|svg|ttf|woff|less|xml|gz)$ - [L]
RewriteRule ^((?!index\.php).+)$ index.php?url=$1 [QSA,L]