メンテナンス時にメンテナンス画面を表示させたい。
WEBサイトをメンテナンスする時、一時的に全てのページへのアクセスを遮断して、メンテナンス画面を出しておきたい状況があります。
そんなときは、.htaccessに、次のような呪文を書けば、アクセスが全てmaintenance.htmlにリダイレクトされます。
RewriteEngine On
RewriteRule ^.*$ maintenance.html [L]
赤文字がポイントで、全てのアクセスをmaintenace.htmlにするという意味です。
これで、この.htaccessを置いたディレクトリ以下のアクセスは全てmaintenance.htmlになります。
自分のアクセスはメンテナンス画面じゃ困る。
とは言え、自分がアクセスした時にメンテナンス画面が表示されては、本番環境でのテストなどができません。
そこで、自分のIPだけはアクセスを許可することにします。許可というか、maintenance.htmlに飛ばされないようにします。
RewriteEngine On
RewriteCond %{REMOTE_ADDR} !^128.128.128.128$
RewriteRule ^.*$ maintenance.html [L]
RewriteCondは、RewriteRuleが発動する条件を指定するもので、ここでは、
アクセス元IPが128.128.128.128でなければ
という条件を足しています。
メンテナンス前に自分のグローバルIPを調べてここに書き入れておけば、自分のアクセスだけはメンテナンス画面にならずに済みます。
コメント