Любой сайт время от времени нуждается в обновлении информации, корректировки программного кода и т.д. Но как правило, при всех этих действиях сайт работает в штатном режиме, и посетители Вашего сайта могут испытывать некоторые неудобства. Допустим, заходит человек на определённый сайт во время тех. обслуживания, и получает вместо желаемой информации очень медленную загрузку страниц и всевозможные ошибки в работе сайта. Поэтому, желательно на время тех. работ отключать сайт, и выводить страницу с предупреждением о ведущихся работах.
В некоторых CMS уже встроена такая функция. Например, в Joomla это можно реализовать за считанные секунды. В WordPress можно воспользоваться специальными плагином, скачать его можно здесь: wordpress.org.
С самописными сайтами дело обстоит сложнее. Тут уже от вебмастера требуется наличие определенных знаний в области веб-программирования.
Рассмотрим метод закрытия сайта на тех. работы для самописных сайтов, но этот метод будет работать и для сайтов сделанных на движках. Кроме того, такой метод хорош тем, что вебмастер будет видеть свой сайт в обычном рабочем режиме, а посетители будут лицезреть страницу оповещающую о тех. работах.
Единственным условием будет то, что на Вашем хостинге должна быть поддержка php (сейчас это не проблема), и на сервере должен быть установлен специальный модуль mod_rewrite. Проверить это можно таким способом:
1. Создать файл info.php с содержимым:
1 2 3 | <?php phpinfo(); ?> |
2. Закачать этот файл по ftp в корневую директорию Вашего хостинга.
3. Набрать в адресной строке браузера: http://ваш сайт.ru/info.php.
4. Затем на открывшейся странице надо найти блок с установленными модулями Loaded Modules, и посмотреть установлен ли mod_rewrite.
Если такая надпись существует, значит mod_rewrite на сервере установлен и данный метод будет работать. Если Вы не нашли такой строки, значит с этим способом ничего не получится.
Теперь сам способ вывода страницы информирующей о проведении тех. работ:
1. Если у Вас на хостинге нет файла .htaccess, то создаем его с таким содержимым:
1 2 3 4 | RewriteEngine On RewriteCond %{REMOTE_ADDR} !67.35.178.200 RewriteCond %{REQUEST_FILENAME} !teh.jpg RewriteRule ^(.*)$ teh.htm [L,QSA] |
Если файл .htaccess у Вас уже существует, то просто дописываем в него эти строки.
Вторая строка в этом файле где прописан ip-адрес (67.35.178.200), даёт возможность оставить доступ к сайту определенному ip-адресу. Т.е., Вы просто вписываете свой ip-адрес на это место, и при закрытии сайта на тех. работы, для Вас всё будет работать в обычном режиме.
2. Скачиваем этот архив: teh.7z. Разархивируем, и закидываем на хостинг файлы из архива: teh.jpeg, teh.htm. Так же файл .htaccess (если Вы ещё его не создали).
Можете менять на своё усмотрение содержимое файла teh.htm, и нарисовать в фотошопе свою заставку о тех. работах (файл teh.jpeg).
Вот и всё, удачного технического обслуживания :).
Не работает ! 🙁
Прописал так — RewriteRule ^(.*)$ close.html [L,QSA]
@ Arman:
Если все сделали точно так же как написано в данной статье, то должно работать.
спасибо, очень помогло!
спасибо большое, работает