Видимость приложения для суперадмина в режиме обслуживания

Мое приложение полностью построено. Но иногда мне нужно снести его для обслуживания. Итак, я создал файл .htaccess, и теперь, когда пользователи пытаются открыть приложение, они перенаправляются на другую страницу с изображением обслуживания в ней. Проблема в том, что после того, как суперадмины завершат обслуживание, им нужно проверить, нормально ли работает приложение. Но нет никакого способа сделать это, поскольку даже они попадают на страницу обслуживания. Одно из решений - создать среду тестирования. Но есть ли у них другое простое решение?


person Abhishek Saha    schedule 29.10.2012    source источник
comment
В вашем случае живая среда - это тестовая среда. Разрешить доступ из определенных точек, не отображая никаких сообщений об обслуживании. Как вы сказали, .htaccess начинается с управления доступом Apache httpd.   -  person hakre    schedule 29.10.2012
comment
Не делайте этого в htaccess, настройте сайт как онлайн / офлайн. затем перенаправьте соответствующим образом, но не используйте перенаправление, если маршрут является логином администратора.   -  person Lawrence Cherone    schedule 29.10.2012
comment
Я бы сказал, это не вопрос, а запрос Google: davidwalsh.name/htaccess-main maintenance- перенаправление страницы   -  person hakre    schedule 29.10.2012
comment
Разрешить доступ из определенных точек - это именно то, что я хочу. Но возможно ли это только через .htaccess?   -  person Abhishek Saha    schedule 29.10.2012
comment
@AbhishekSaha: Зависит от конфигурации веб-сервера, самого приложения, ваших потребностей и т. Д. Кстати. то, как вы задаете этот вопрос, не очень конструктивно, потому что есть тысяча способов, как это сделать.   -  person hakre    schedule 29.10.2012
comment
@LawrenceCherone, у меня не может быть переключателя онлайн / офлайн, потому что пользователь даже не может войти в систему. до этого перенаправляется только он.   -  person Abhishek Saha    schedule 29.10.2012
comment
Опять же: это зависит от того, как вы это делаете. Если вы сначала создаете ситуацию, что это невозможно, тогда это невозможно. См. Ссылку ранее, которая может дать вам представление. Вместо IP-адресов также работают файлы cookie, а с помощью apache существует полный уровень выделенного управления доступом.   -  person hakre    schedule 29.10.2012
comment
@hakre, я разместил это в SO, чтобы получить один из возможных ответов, который можно легко сделать.   -  person Abhishek Saha    schedule 29.10.2012
comment
Тогда есть что-нибудь вроде RewriteCond %{REQUEST_URI} !^/admin_login$ lol   -  person Lawrence Cherone    schedule 29.10.2012
comment
Возможная копия: Как реализовать «Режим обслуживания» на уже созданном веб-сайте   -  person hakre    schedule 29.10.2012
comment
Как это может быть дубликат, когда я сказал вам, что даже страница входа в систему заблокирована.   -  person Abhishek Saha    schedule 29.10.2012
comment
@AbhishekSaha: Ну, мне интересно, почему ты тогда принял ответ. Это точно так же.   -  person hakre    schedule 29.10.2012
comment
@hakre - Я пришел сюда, чтобы получить идею, логику. Я решил сделать это следующим образом. Когда суперадмин пытается деактивировать сайт, его действие создает файл .htaccess с его текущим IP-адресом, чтобы он мог просматривать. В настоящее время просмотр недоступен ни для пользователей, ни для других суперадминов. Я понял, что другие суперадмины на самом деле не нужны для просмотра сайта. После завершения обслуживания он снова переключает режим обслуживания, который удаляет файл .htaccess. Его ответ не дал полного кода, который я никогда не спрашивал, но подсказал мне идею.   -  person Abhishek Saha    schedule 29.10.2012
comment
@hakre - Ваша репутация - доказательство того, что вы осведомлены. В этом нет сомнений. Но вы действительно не скромны по отношению к младшим. Ваши действия в этом посте были лишь саркастическими комментариями. Я не публиковал код .htaccess, потому что мне действительно не нужна помощь в кодировании. Искал хорошую, простую и выполнимую логику.   -  person Abhishek Saha    schedule 29.10.2012
comment
И ваши комментарии не изменили мои мысли за вас. Я по-прежнему уважаю вас и всегда буду искать интересные решения с вашей стороны. Ваше здоровье.   -  person Abhishek Saha    schedule 29.10.2012
comment
@AbhishekSaha: прочтите FAQ и спросите совета снова. Тогда вы сможете лучше понять, почему такие вопросы проблематичны. Если у вас есть плавающая проблема и вы ищете мнения, присоединяйтесь к PHP-чату. Там вы можете лучше обсудить различные вещи, связанные с идеями и тому подобным.   -  person hakre    schedule 29.10.2012
comment
@hakre, если бы Вы разместили этот комментарий в начале, я бы сразу же присоединился к чату. Вы лучше знаете это сообщество. Но то, как вы прокомментировали, было неправильным руководством.   -  person Abhishek Saha    schedule 29.10.2012


Ответы (1)


Если у вас есть статический IP-адрес в файле .htaccess, вы можете попробовать сделать:

RewriteEngine On
RewriteBase /
RewriteCond %{REMOTE_ADDR} !^11\.111\.111\.111
RewriteCond %{REQUEST_URI} !^/maintenance\.html$
RewriteRule ^(.*)$ http://domain.com/maintenance.html [R=307,L]

При необходимости Ypu может указать несколько строк REMOTE_ADDR для более чем 1 IP-адреса администратора.

Это отправит любого, чей IP-адрес НЕ упомянут, на страницу обслуживания.

АЛЬТЕРНАТИВА - это обработка режима обслуживания в PHP ... в основном тогда вы можете иметь список IP-адресов в php-скрипте и показывать страницу обслуживания или запускать приложение как обычно ... очевидно, что такое решение потребует для правильного размещения в потоке вашего кода и некоторого простого механизма для включения / отключения сайта.

person Brian    schedule 29.10.2012
comment
@hakre, дал мне эту ссылку. И ситуация очень похожа на мою. Единственная разница в том, что у нас есть несколько суперадминов, которые могут получить доступ из разных мест. - person Abhishek Saha; 29.10.2012
comment
Вы просто добавляете больше строк% {REMOTE_ADDR} для любых IP-адресов. - person Brian; 29.10.2012
comment
@AbhishekSaha: Это несправедливо. Теперь, когда есть ответ, вы начинаете прорабатывать вопрос. Это неконструктивно. - person hakre; 29.10.2012
comment
И я тоже считаю, что это наиболее реальное решение. Буду ждать еще нескольких ответов, иначе приму ваше решение. Спасибо. - person Abhishek Saha; 29.10.2012
comment
@hakre, мне очень жаль. Я не отрицаю никакого решения. Я просто ищу варианты. - person Abhishek Saha; 29.10.2012
comment
И это как раз часть проблемы. Пожалуйста, ознакомьтесь с принципами работы этого веб-сайта. Речь идет не только о вас, но и о будущих пользователях, а также о тех, кто ответит. Посмотрите на ваш вопрос, там вообще нет технической информации. Вы пока даже не опубликовали свой фрагмент .htaccess. - person hakre; 29.10.2012
comment
@hakre, я уважаю ваши знания и не считаю себя в состоянии спорить или извиниться несколько раз. Если вы поняли вопрос, почему бы не отредактировать его немного и не отформатировать лучше. Я буду так учиться. Ваши комментарии не помогают. - person Abhishek Saha; 29.10.2012
comment
@AbhishekSaha: Я не могу опубликовать ваш .htaccess сниппет, потому что у меня его нет. - person hakre; 29.10.2012
comment
@ Брайан, я читал твою альтернативу. Думаю, есть ли у него недостатки. - person Abhishek Saha; 29.10.2012
comment
@hakre, я ранее задавал вопрос относительно файла htaccess, и мне помогли люди. Вот опубликованный вопрос - stackoverflow.com/questions/12210881/ - person Abhishek Saha; 29.10.2012
comment
.htacess - это просто. Это просто отвлекает всех людей на страницу обслуживания. - person Abhishek Saha; 29.10.2012
comment
@Брайан. Альтернативное решение выглядит нормально. У меня есть файл заголовка, общий для всех остальных файлов. Я могу поместить свой IP-массив в файл заголовка, и он выполнит всю работу. Большой !! Итак, какой способ вы порекомендуете? - person Abhishek Saha; 29.10.2012
comment
Это зависит от ваших предпочтений ... PHP-способ означает, что вы можете включать / выключать сайт через сам сайт администратора, а также быстро добавлять IP-адреса (если вы сохраняете их или можете писать и анализировать какой-либо текстовый файл при проверке ips). Способ .htaccess тоже работает очень хорошо ... но требует редактирования на стороне сервера, когда вам нужно включать / отключать сайты и добавлять / удалять IP-адреса ... так что все, что будет проще всего для вашей организации / сайта! - person Brian; 29.10.2012