У меня есть один виртуальный хост на моей машине, к которому я обращаюсь локально. Я запускаю apache2 под Windows 7.
При доступе к этому хосту я вижу в Fiddler, что этот сервер перенаправляет браузер на другой удаленный сайт с ответом
301 Moved Permanently
Но я абсолютно не могу найти, где это настроено. Я ищу во всех файлах .htaccess URL-адрес целевого сайта, во всех файлах данного виртуального хоста для этого URL-адреса, во всем каталоге Apache ...
Как отследить, что заставляет Apache выполнять это перенаправление?
Это не обязательно конфигурация Apache, которая делает это - Apache передает запрос генератору динамического контента?
Найдите две вещи в своей конфигурации Apache; Redirect
, и RewriteRule
директивы, которые имеют R
флаг. Если их нет, то Apache не выполняет перенаправление (за исключением /directoryname
перенаправление на /directoryname/
, но здесь это не похоже на тот случай), и вам нужно будет посмотреть на динамический код, которому Apache передает запрос.
Спасибо за ответ, и он указывает мне правильное направление. В моем случае перенаправление 301 вызвано правилом перезаписи для всего сайта.
RewriteEngine on
RewriteCond %{HTTP_HOST} ^voicent.com
RewriteRule ^/(.*)$ http://www.voicent.com/$1 [L,R=301]
Вышеупомянутое правило требует использования канонического имени хоста. Каждый URL-адрес начинается с www.domain.com вместо domain.com. Вы можете дополнительно проверить это в журнале доступа apache.