.htaccess – 太多的redirect

我从以下两个.htaccess文件中收到“太多的redirect”错误。

域1上的.htaccess

Redirect 301 / http://www.domain2.com/ 

域2上的.htaccess

 RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} !^www\. RewriteRule (.*) http://www.%{HTTP_HOST}/$1 [L,R] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule .* /forum/ [L,R] RedirectMatch permanent ^/$ /forum/ # Options +FollowSymlinks RewriteCond %{HTTP_REFERER} badsite1\.com [NC,OR] RewriteCond %{HTTP_REFERER} badsite2\.com [NC] RewriteRule .* - [F] 

任何人都知道redirect错误太多的原因?

目录“/ forum /”是否存在于您的网站在domain2? 如果不是,那么下面的RewriteCond (重写条件)& RewriteRule将总是导致redirect到/forum/

 RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule .* /forum/ [L,R] 

这将导致无限的redirect循环,导致too many redirects错误。

从附加注释中可以看出,以下三行代码会导致redirect循环:

 RewriteCond %{HTTP_REFERER} badsite1\.com [NC,OR] RewriteCond %{HTTP_REFERER} badsite2\.com [NC] RewriteRule .* - [F] 

任何机会是“badsite1.com”或“badsite2.com”也是你的域名的一部分? 例如,如果文字“badsite1.com”是“fred.com”,而您的域名是“myfred.com”,那么这个条件将符合您网站的要求。

原来代码很好。 可能正在加载可能不正确的代码的caching副本并导致错误。