При переносе сайта или же при проведении каких-то работ иногда нужно ограничить доступ пользователей к страницам сайта. Но при этом главное их не «распугать».
Поэтому правильным способом является использовать некоторую страницу-заглушку. Эта страница будет информировать посетителей сайта о том что на сервере идут работы и все под контролем.
Самым оптимальным решением этой задачи является использование mod_rewrite, который включен почти в каждом сервере Апач. Включить и настроить этот модуль можно с помощью файла .htaccess в корне сайта.
Я, например, использую такой вот файл:
RewriteEngine On RewriteRule _temp/*. - [L] RewriteCond %{HTTP_COOKIE} !(fortester) [NC] RewriteRule .* _temp/index.php?%{QUERY_STRING} [L]
Если коротко, то при таком файле на все попытки открыть любую страницу сайта будет выводится содержимое _temp/index.php
Что написать в этом файле каждый может придумать сам. А я лучше проясню содержимое файла .htaccess.
Первое правило нужно для того чтобы не было бесконечного цикла.
Условие RewriteCond проверяет отсутствие у пользователя куки fortester.
И если ее нет, то выполняется указанное правило. Оно на любой запрос отдает страницу _temp/index.php и передает в нее GET параметры.
Проверка на cookies в mod_rewrite нужна для того чтобы можно было без проблем проверять и исправлять основной сайт, пока обычные посетители видят «заглушку». Если разработчик установит себе в браузер такую куку, то для него не будет срабатывать правило mod_rewrite и он сможет работать с оригинальными страницами сайта.