Получение ошибки 500 при добавлении RewriteCond с доменом .to - PullRequest
0 голосов
/ 01 сентября 2011

Я пытаюсь перенаправить трафик, приходящий с определенного домена в моем файле .htaccess. Это работает нормально, если я не делаю это для домена с расширением. Есть идеи, что здесь происходит?

выдает ошибку 500:

RewriteCond %{HTTP_HOST}            ^(www\.)?domain\.to [NC]
RewriteRule ^.*$                    /foo/bar [L]

Работает нормально:

RewriteCond %{HTTP_HOST}            ^(www\.)?domain\.com [NC]
RewriteRule ^.*$                    /foo/bar [L]

1 Ответ

1 голос
/ 01 сентября 2011

Поскольку я точно не знаю, какое правило создает цикл перезаписи, я могу только предложить этот подход в данный момент:

RewriteCond %{HTTP_HOST} ^(www\.)?domain\.to [NC]
RewriteCond %{REQUEST_URI} !^/foo/bar
RewriteRule ^.*$ /foo/bar [L]

Ваша попытка технически неверна по двум причинам:

*URL 1005 * в .htaccess будет без косой черты (я имею в виду $1); вы используете $1 .. но у вас нет соответствующей настройки группы (другими словами$1 всегда будет пустым).

Если все равно ничего - укажите реальный htaccess ... или попробуйте включить перезапись перезаписи (RewriteLogLevel 9) -- но для этого вы должны иметь полный контроль над сервером Apache, поскольку эту директиву нельзя поместить в .htaccess (только для конфигурации сервера / в контексте виртуального хоста) + вам потребуется перезапустить Apache, чтобы перечитать файл конфигурации.


Попробуйте добавить это правило где-нибудь сверху - там, где это будет уместно:

# do not do anything for already existing files
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule .+ - [L]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...