.htaccess给出了一切的递归错误

时间:2010-10-01 21:47:51

标签: apache .htaccess

我正在尝试通过index.php重定向所有流量。

这是我的.htaccess文件:

RewriteEngine On

RewriteRule ^(.*)$ /index.php?ref=$1 [NC,L]

我总是收到HTTP 500错误,并检查error.log,我发现它是内部递归错误。谁能帮我这个?感谢。

1 个答案:

答案 0 :(得分:3)

不完全确定这是否是规范的方法,但添加这样的条件将起作用:

RewriteCond %{REQUEST_URI} !^/index.php
RewriteRule ^(.*)$ /index.php?ref=$1 [QSA]

(QSA添加任何查询字符串。)

但是,我会建议额外的

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

防止通过index.php发送静态资源(除非真的你想要的。)