У меня есть ряд доменов, указывающих на один и тот же веб-сервер, и хотел бы настроить его для перезаписи всего входящего трафика в один согласованный домен. Я сделал это прежде, чем убедиться, что запрос имеет www. в нем, но когда я добавил скрипт ниже, чтобы стать сайтом, он начал замерзать.RewriteCond на HTTP_HOST замерзания сайта?
RewriteCond %{HTTP_HOST} !^www\.domain\.com(.*) [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,NC,L]
После того как я добавить это в мой .htaccess (выше всех моих других переписывает) и сохраните файл на сервер, сайт будет работать в нормальном режиме в течение около 10 секунд, после чего просит к нему начнет замерзание. Я знаю, что это ОЧЕНЬ странно, это происходит ПОСЛЕ того, как файл сохраняется на сервере. Если я удалю строки выше, он начнет работать немедленно.
Я немного потерял то, что может вызвать эту странную проблему.
ОБНОВЛЕНИЕ: Я проверил свои журналы перезаписи, сравнивая до и после изменения. Я вижу много этих ошибок
127.0.0.1 - - [21/Jul/2010:12:57:35 --0400] [280082-web1.dummy.com/sid#2b4899b49d30][rid#2b489a396148/initial] (2) [perdir /var/www/html/] rewrite '*' -> 'http://www.dummy.com/*'
127.0.0.1 - - [21/Jul/2010:12:57:35 --0400] [280082-web1.dummy.com/sid#2b4899b49d30][rid#2b489a396148/initial] (2) [perdir /var/www/html/] explicitly forcing redirect with http://www.dummy.com/*
Я также проверил мои журналы доступа к одной и той же метки времени и увидеть это:
127.0.0.1 - - [21/Jul/2010:12:57:35 -0400] "OPTIONS * HTTP/1.0" 301 333 "-" "Apache/2.2.3 (Red Hat) (internal dummy connection)"
У меня есть Keepalive включен. Может ли это вызвать проблему?
попытался также добавить этот конд к моему переписывают, и это все еще ошибки:! RewriteCond% {REMOTE_ADDR} 127.0.0.1
Weird. Включили ли вы RewriteLog? Возможно, какой-то старый параметр mod_vhost_limit? Конфигурация (основного) vhost также может быть важна. – Wrikken
Любая идея, почему я получаю ошибку 500, когда добавляю logging к моему .htaccess (я никогда не пробовал регистрироваться раньше).Код: RewriteEngine on RewriteLog "/var/www/rewrite.log" RewriteLogLevel 4 (правила) –
Директивы ведения журнала применимы только в контексте сервера или виртуального сервера, поэтому вы не можете определить их в '.htaccess' файл. Кроме того, были ли какие-либо записи в вашем 'error_log' в то время, когда он начал замерзать, и ваш сайт получает значительный объем трафика или что-то еще? –