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

Как я могу сделать так, чтобы Apache отображал статическую страницу обслуживания для всех, кроме определенных пользователей?

Мне нужно иметь возможность перевести наш сайт в режим обслуживания, за исключением некоторых пользователей, чтобы QA / Dev могли тестировать изменения на сайте / базе данных в режиме обслуживания.

Проблема в том, что список IP-адресов будет меняться каждый раз, когда мы это делаем и делаем с политиками, мы не можем изменять основной файл конфигурации apache с другим списком IP-адресов каждый раз, когда мы это делаем. Мы можем внести одноразовые изменения в конфигурацию apache для поддержки чтения или использования какого-либо другого файла, который будет иметь список исключений.

Какие у меня есть варианты для предоставления apache списка IP-адресов, которые не следует перенаправлять? Был бы .htaccess файл, который мы добавляем, делаем? А как насчет файла пар ключ-значение?

Я ищу что-то вроде этого в конфигурации apache:

RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}/maintenance.mode -f
#RewriteCond %{REMOTE_ADDR} ## check list of exceptions??
RewriteRule !^maintenance/.*$ /maintenance/ [R,L]

У вас может быть черный список / белый список в отдельном файле. Посмотри на http://httpd.apache.org/docs/2.2/rewrite/access.html#host-deny - он должен дать вам достаточно для начала.