Назад | Перейти на главную страницу

.htaccess - слишком много перенаправлений

Я получаю сообщение об ошибке "слишком много перенаправлений" из следующих двух файлов .htaccess.

.htaccess на домене 1

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

.htaccess на домене 2

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] 

Кто-нибудь знает причину слишком большого количества ошибок переадресации?

Каталог "/ forum /" существует на вашем сайте в домене 2? Если нет, то после RewriteCond (Условия перезаписи) & RewriteRule всегда приведет к перенаправлению на /forum/

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

Это приведет к бесконечному циклу перенаправления, что приведет к too many redirects ошибка.

Из ваших дополнительных комментариев вы говорите, что следующие три строки кода вызывают цикл перенаправления:

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», то это условие будет соответствовать запросам вашего сайта.

Оказывается, код был в порядке. Возможно, загружалась кешированная копия неправильного кода, которая вызвала ошибку.