Как закрыть доступ к сайту на время обслуживания

23 июля, 2008

Обслуживание сайта
Практически каждому web мастеру приходится обновлять свои сайты. Установка плагинов, изменение дизайна, обновление движка, все эти операции нужно регулярно выполнять.

Сложность в том, что все эти работы занимают довольно много времени и нарушают работу сайта. Естественно никому не хочется, чтобы посетители наблюдали «кривой» дизайн или читали описания ошибок. Поэтому доступ к сайту на время таких работ нужно ограничить.

В этой статье я расскажу, как это сделать для блога на движке WordPress.

Будем считать, что блог находится на shared хостинге и варианты вроде перенаправления посетителя на другой сервер вам недоступны. Управлять web сервером можно только с помощью файла .htaccess.

Кроме того, доступ закрыть нужно не полностью, а только для посетителей. Сами вы должны иметь возможность работать в админке, да и посмотреть на результат тоже нужно.

В принципе, можно ограничить доступ к сайту с помощью пароля. В большинстве случаев для этого вам не придется даже вручную изменять .htaccess. Панели управления (например, cPanel) предоставляют удобный интерфейс для управления доступом.

Но тут есть один недостаток. Форма ввода имени и пароля будет сбивать посетителей с толку.

Поэтому, гораздо лучше показать симпатичную страничку с извинениями и просьбой зайти через некоторое время.

Приступаем.

Прежде всего, создаем файл с названием index.html и примерно таким содержимым.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Сайт на обслуживании</title>
</head>
<body>
<h2>Извините, доступ к сайту временно закрыт</h2>
<h3>Проводятся технические работы</h3>
<h3>Попробуйте зайти через 30 мин</h3>
<h4>С уважением, администрация simplecoding.org</h4>
</body>
<html>

Примечание. Лучше всего если дизайн страницы будет напоминать ваш блог. Тогда посетитель не будет думать, что он ошибся адресом.

Копируем этот файл в корень сайта. Скрипт WordPress, который запускается по-умолчанию, называется index.php, поэтому проблем с именами файлов быть не должно.

Теперь нужно чтобы при обращении к сайту сервер отправил посетителю именно этот файл.

Для этого, находим в корне сайта файл .htaccess, делаем резервную копию .htaccess_old и добавляем в него строку
DirectoryIndex index.html

После этого ищем строку RewriteRule . /index.php и изменяем ее на RewriteRule . /index.html

Теперь при обращении по адресу http://www.mysite.domain будет показана сервисная страница. Кроме того, обращения на любые страницы сайта будут также перенаправлены на index.html.

Обратите внимание, что блог остался доступен, просто теперь нужно явно указать имя скрипта:
http://www.mysite.domain/index.php

Следующий шаг. Переходим в папку /wp-admin и создаем в ней файл .htaccess с одной директивой:
DirectoryIndex index.php

Если этого не сделать директива из .htaccess в корне сайта будет применена ко всем подпапкам, а это сделает нерабочей админку.

Все. Можно приступать к обновлению сайта. Вход в админ панель находится здесь: http://www.mysite.domain/wp-login.php

Точно также можно обратиться к любому скрипту.

Отдельно хочу остановиться на тестировании блога.

Как я уже говорил, главная страница находится по адресу http://www.mysite.domain/index.php. Но ссылки на ней теперь ведут на index.html.

Если вам все-таки нужно посмотреть страницы с постами, то придется определить их id в базе данных. Для этого заходим в раздел «Управление» админ-панели, наводим курсор на ссылку и смотрим адрес ссылки в строке состояния. В конце адреса будет параметр post=число. Используя это число можно попасть на страницу нужной записи.

Для этого вводим в строке адреса:
http://www.mysite.domain/index.php?p=число

Точно также для доступа к категориям используем:
http://www.mysite.domain/index.php?cat=число

После того, как работы будут завершены, восстанавливаем .htaccess из резервной копии. Теперь блог снова будет доступен.

До встречи!

Спонсор статьи:
Блог SEO, SMO, бизнес в интернете
Предлагаем не услуги по продвижению сайтов, а решение задач, стоящих перед бизнесом клиентов.

Понравилась статья? Подписывайтесь на продолжение rss link !

Или на мой твиттер twitter link

]]>

Добавьте эту страницу в google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

]]>

Опубликовано в htaccess, Web разработка, WordPress, Разное Комментарии (41) »

]]>

Вы можете оставить комментарий. Трекбеки закрыты.

  • http://lobach.info/ Лобач Олег

    Спасибо за статью.
    Есть, правда, одно замечание. Неплохо бы при перенаправлении на index.html выдавать заголовок с кодом 503, чтобы пауки не решили, что на вашем блоге резко поменялось содержимое.

    Кстати, для целей технических работ на блоге для вордпресса есть плагин "Maintenance Mode".

    • http://www.simplecoding.org/ Владимир

      Да, плагин – это хороший вариант. Только не совсем понятно как он будет работать при обновлении самого WP. Судя по описанию, он проверяет залогинились вы в админке или нет и выдает заготовленную страницу для тех, кто не логинился. По-моему, если часть файлов WP в этот момент перезаписывается, то плангин может просто не работать.

      А насчет заголовка с кодом 503 полностью согласен. Пропустил.

      • http://isle-blog.ru/ Зайва Игорь Леонидович

        И как же err503 поставить? Эх, опять гуглить нужно… сам уже подзабыл :( Блин, срочно сайт закрываю, сломался, ёлки-палки.

        • http://www.simplecoding.org/ Владимир

          Читайте здесь.

        • http://isle-blog.ru/ Зайва Игорь Леонидович

          Спасибо за подсказки. Сайт уже перезалил и открыл. Хотел на заметку запись оставить: у меня любая запись, типа RewriteRule . /index.php, выдавала err 500, где ошибка – не знаю. Ну, это уже и не важно :)

  • http://lobach.info Лобач Олег

    Спасибо за статью.
    Есть, правда, одно замечание. Неплохо бы при перенаправлении на index.html выдавать заголовок с кодом 503, чтобы пауки не решили, что на вашем блоге резко поменялось содержимое.

    Кстати, для целей технических работ на блоге для вордпресса есть плагин "Maintenance Mode".

    • http://www.simplecoding.org/ Владимир

      Да, плагин – это хороший вариант. Только не совсем понятно как он будет работать при обновлении самого WP. Судя по описанию, он проверяет залогинились вы в админке или нет и выдает заготовленную страницу для тех, кто не логинился. По-моему, если часть файлов WP в этот момент перезаписывается, то плангин может просто не работать.

      А насчет заголовка с кодом 503 полностью согласен. Пропустил.

      • http://isle-blog.ru/ Зайва Игорь Леонидович

        И как же err503 поставить? Эх, опять гуглить нужно… сам уже подзабыл :( Блин, срочно сайт закрываю, сломался, ёлки-палки.

        • http://www.simplecoding.org/ Владимир

          Читайте здесь.

        • http://isle-blog.ru/ Зайва Игорь Леонидович

          Спасибо за подсказки. Сайт уже перезалил и открыл. Хотел на заметку запись оставить: у меня любая запись, типа RewriteRule . /index.php, выдавала err 500, где ошибка – не знаю. Ну, это уже и не важно :)

  • http://www.chanishvili.org/ Roland Chanishvily

    А можно использовать конструкцию
    DirectoryIndex index.html index.php
    и тогда тольок если в папке есть index.html то она его выведет, если же нет – то index.php
    То есть не надо в wp-admin класть свой .htaccess да и вообще его менять после того как удалишь index.html

  • http://www.chanishvili.org Roland Chanishvily

    А можно использовать конструкцию
    DirectoryIndex index.html index.php
    и тогда тольок если в папке есть index.html то она его выведет, если же нет – то index.php
    То есть не надо в wp-admin класть свой .htaccess да и вообще его менять после того как удалишь index.html

  • http://www.oae-travel.ru/ Никон

    Большое спасибо за статью, все просто и вполне доступно:)
    Олег – если сайт меняется не полностью, а только частитчно, или тем более тока дизайн то никаких заголовков с кодом 503 совсем не надо.

    • http://lobach.info/ Лобач Олег

      Никон, в статье ведь речь шла о полной блокировке доступа к публичной области.

  • http://www.oae-travel.ru Никон

    Большое спасибо за статью, все просто и вполне доступно:)
    Олег – если сайт меняется не полностью, а только частитчно, или тем более тока дизайн то никаких заголовков с кодом 503 совсем не надо.

    • http://lobach.info Лобач Олег

      Никон, в статье ведь речь шла о полной блокировке доступа к публичной области.

  • http://www.elitel.ru/ Игорь

    Спасибо за информацию, теперь хоть буду знать как закрыть доступ на сайт.

  • http://www.elitel.ru Игорь

    Спасибо за информацию, теперь хоть буду знать как закрыть доступ на сайт.

  • http://dimoning.ru/ DimoninG

    Вы пишите простые вещи понятным языком. Да еще и выходит на пару листов. Браво! Мне бы так :)

    Статья полезная (хотя я знал это все, но прочитал только потому, что пишите Вы красиво). Вообще блог у Вас классный. :)

    • http://www.simplecoding.org/ Владимир

      Мне бы так

      Только не надо прибедняться :-) Мне тоже ваш блог понравился.

      Кстати, много слов, не значит – много полезной информации. Я стараюсь ориентироваться на новичков, расписывать каждый шаг. Если человек сам хорошо разбирается он текст пропустит.

  • http://dimoning.ru DimoninG

    Вы пишите простые вещи понятным языком. Да еще и выходит на пару листов. Браво! Мне бы так :)

    Статья полезная (хотя я знал это все, но прочитал только потому, что пишите Вы красиво). Вообще блог у Вас классный. :)

    • http://www.simplecoding.org/ Владимир

      Мне бы так

      Только не надо прибедняться :-) Мне тоже ваш блог понравился.

      Кстати, много слов, не значит – много полезной информации. Я стараюсь ориентироваться на новичков, расписывать каждый шаг. Если человек сам хорошо разбирается он текст пропустит.

  • http://www.jqestate.ru/ Денис

    О,это действительно больная тема,попробую ваши советы,отпишусь!!!

  • http://www.jqestate.ru Денис

    О,это действительно больная тема,попробую ваши советы,отпишусь!!!

  • http://dimoning.ru/ DimoninG

    Согласен, что лучше не лить воду понапрасну. Я вот и восхитился Вашим умением "разбавлять" статьи подробностями и просто "междомеееетиями" в очень точной пропорции, чтобы и материал оставался весь полезным и читать было приятно. У меня часто слишком много слов. Я вообще как-то теоретик :)

  • http://dimoning.ru DimoninG

    Согласен, что лучше не лить воду понапрасну. Я вот и восхитился Вашим умением "разбавлять" статьи подробностями и просто "междомеееетиями" в очень точной пропорции, чтобы и материал оставался весь полезным и читать было приятно. У меня часто слишком много слов. Я вообще как-то теоретик :)

  • Pingback: Полезные и бесплатные Open Source движки. Какие виды CMS больше подойдут для создания порталов и сайтов. | Дизайн и бизнес

  • http://audio-education.ru/ Олег

    Спасибо. Только что понадобилось закрыть срочно сайт, в связи с падением плагина по сокрытию платного текста. По вашей инструкции сделал за две минуты.
    Единственное замечание – правильно писать "извИните". Очень распространенная ошибка именно среди тех, кто хочет писать грамотно. :) Исправьте в примере страницы-заглушки.

    • http://www.simplecoding.org/ Владимир

      Большое спасибо! Исправил.

  • http://audio-education.ru/ Олег

    Спасибо. Только что понадобилось закрыть срочно сайт, в связи с падением плагина по сокрытию платного текста. По вашей инструкции сделал за две минуты.
    Единственное замечание – правильно писать "извИните". Очень распространенная ошибка именно среди тех, кто хочет писать грамотно. :) Исправьте в примере страницы-заглушки.

    • http://www.simplecoding.org/ Владимир

      Большое спасибо! Исправил.

  • Александ

    А не подскажите пожалуйста как закрыть блог на сервере WordPress.com там как я понимаю через ФТП не зайдешь и ацесник не исправишь через панель управления? Спасибо!

    • http://www.simplecoding.org/ Владимир

      Если в админке это не предусмотрено, то доступ к блогу вы не закроете. К сожалению, тут всё зависит от администрации сервиса.

  • Александ

    А не подскажите пожалуйста как закрыть блог на сервере WordPress.com там как я понимаю через ФТП не зайдешь и ацесник не исправишь через панель управления? Спасибо!

    • http://www.simplecoding.org/ Владимир

      Если в админке это не предусмотрено, то доступ к блогу вы не закроете. К сожалению, тут всё зависит от администрации сервиса.

  • tts

    Толковая статья, автору спасибо)

  • YurOK

    У меня самописная кмс. Выше описаный способ не помог. На быструю написал условие в файле index.php

    if($_SERVER['REMOTE_ADDR']!= 'ххх')
    {
    include('index.html.php');
    exit;
    }
    ххх – мо ip (нужно посомтреть и прописать)
    index.html.php – страница заглушки

  • Pingback: Зарабатывай в интернете честно! » Архив сайта » Как закрыть wordpress? Закрыть на техническое обслуживание.

  • Papanem

     Спасибо за статью. У меня вот такая проблема. Есть у меня два хоста с доменами . Один домен перанаправил на другого. Хочу без отклуючения редикректа попасть на админку этого домена,и работать там? Вазможно ли это и как ето сделать?

    • http://www.simplecoding.org Владимир

      Если у вас выделенный сервер, то можно использовать ip адрес сервера, на котором запущен apache, вместо адреса сайта. Но если на одном ip висит несколько сайтов, этот вариант не пройдет.

      Второй вариант – перенастроить редирект так, чтобы он не работал для админки. Например, в случае WP, нужно пропускать адреса, которые содержат wp-admin

  • Дима

    спасибо большое

]]>
Tweet