Так получилось почти полтора месяца не писал ничего в блог. Но это от того, что много много работал. Поэтому накопилось много чего записать. Заметки будут короткие. По сути. В основном касательно программирования, шаблонов вордпресса и немного администрирования. С администрирования и начну.

При апгрейде нагруженного сервера очень полезно отсекать посетителей заглушкой. Вроде того «сайт закрыт на реконструкцию». Чтобы не мешали. Но при этом нужно оставить полноценный доступ себе. Если у вас есть доступ к .htaccess, на хостинге установлен mod_rewrite ( если у вас стоит WordPress , то вероятно mod_rewrite у вас установлен ), то сделать такую заглушку для сайта с помощью .htaccess очень просто.

В корне папки ищем .htaccess. Там наверняка есть записи вида:

[cc lang=”php”]


RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

[/cc]

Правим эти записи примерно таким образом:

[cc lang=”php”]

# + Заглушка для технических работ
# вбит РАЗРЕШЕННЫЙ IP
RewriteCond %{REMOTE_ADDR} !^192.168.100.500$
RewriteCond %{REQUEST_URI} !^/azzrael.html
RewriteRule ^.*$ azzrael.html

RewriteCond %{REMOTE_ADDR} ^192.168.100.500$
# – Заглушка для технических работ

RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
[/cc]

, здесь вместо 192.168.100.500 нужно вписать ваш IP, с которого вы проводите работы на сайте. Все остальные IP будут получать вывод azzrael.html ( собственно это страничка заглушки сайта ), которую нужно создать заранее и положить в папку рядом с .htaccess. Иногда для вступления в силу изменений .htaccess полезно перегрузить апач.

1 февраля 2012 |

3 Комментариев к “Заглушка для сайта через .htaccess и mod_rewrite”

  1. web11 28 марта, 2012

    спасибо за информативный пост
    как раз то, что мне нужно)

  2. indapublic 1 июля, 2012

    А если понадобится в заглушке использовать картинку – она не будет отдаваться

  3. Azzrael 5 июля, 2012

    Перед RewriteRule просто добавьте исключение типа к примеру:
    RewriteCond $1 !^(css|images|upload)
    создайте папку images и кладите туда картинки – они будут отдаваться. В css – css, ну вобщем как хочется.

Есть что сказать по теме статьи? Пожалуйста - пишите!