标题解释了大部分内容。我正在使用WAMP。 我有一个.htaccess文件,其中包含以下内容:
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/$
RewriteRule (.*) /?uri=%{REQUEST_URI}
带有以下内容的index.php:
<?php
print_r($_GET)
?>
另外,我收到以下apache_error.log错误:
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.
如果你对我正在做的事情感到困惑,我正在尝试制作一个cms,其中index.php处理所有其他页面并且它自己(我几乎没有开始)。
答案 0 :(得分:2)
它正在进行无限循环,因为%{REQUEST_URI}
即使重写为/?uri-...
您应该检查%{QUERY_SRING}
,而不是检查是否存在查询字符串。
RewriteEngine On
RewriteCond %{QUERY_STRING} !(^|&)uri= [NC]
RewriteRule ^ ?uri=%{REQUEST_URI} [L,QSA]