Я работаю над переносом сервера из одной коробки в другую и сегодня вечером сделаю масштабное обновление кода. Для этого я хотел бы настроить перенаправление, чтобы обычные посетители сайта переходили на страницу ожидания. Но разработчики, тестировщики и клиент уходят на основной сайт.
Я думаю, что перенаправление 403 - это способ сделать это. Это код, который я использую:
Order allow,deny
deny from 80.195.185.214
allow from all
ErrorDocument 403 /holding/index.html
<Files /holding/index.html>
allow from all
</Files>
Сейчас я просто перенаправляю свой IP, я поменяю его сегодня вечером.
В любом случае проблема, которую я получаю: «Эта веб-страница имеет цикл перенаправления» на странице ожидания. Очевидно, что директива «Разрешить от всех» не обрабатывается.
Кто-нибудь знает, что я могу ошибаться?
Заказать разрешить, запретить -> Заказать запретить, разрешить
http://httpd.apache.org/docs/2.2/mod/mod_authz_host.html#order
Allow, Deny Во-первых, оцениваются все директивы Allow; хотя бы одно должно совпадать, иначе запрос будет отклонен. Затем оцениваются все директивы Deny. Если какие-либо совпадения, запрос отклоняется. Наконец, любые запросы, которые не соответствуют директивам Allow или Deny, по умолчанию отклоняются.
Deny, Allow Сначала оцениваются все директивы Deny; в случае совпадения запрос отклоняется, если он также не соответствует директиве Allow. Разрешены любые запросы, не соответствующие директивам Allow или Deny.
Код ответа HTTP 403 - «Запрещено». Это не перенаправление.
Сообщение об ошибке "Эта веб-страница имеет цикл переадресации" указывает на то, что является где-то происходит перенаправление (это означает ответ 3xx, например, 301 или 302). У вас может быть файл .htaccess или может быть какая-то другая часть конфигурации Apache, которая вызывает переадресацию, отправляемую в качестве ответа.
Попробуйте запросить страницу с помощью curl -I
или wget -q -S -O /dev/null
чтобы узнать, какой именно ответ отправляется.
Хорошо - теперь я отвечаю на свой вопрос ради других. Сначала оба респондента помогли с этим, чтобы отследить проблему.
Проблема в том, что при использовании VirtualHosts директива Files в .htaccess игнорируется, а Location и Directory не работают.
Решение очень простое. Вы создаете еще один .htaccess в подпапке, которую пытаетесь открыть.