メンテナンス画面を表示する方法
事前準備
メンテナンス中として表示させるHTMLファイルを作成しておいて下さい。
ファイル名は任意ですが、
一般的には「maintenance.html」というファイル名称にします。
アップロード先は、ドキュメントルート直下(トップページのindex.htmlと同じ階層)にして下さい。
パターン1
緊急対応で、取り合えず、サイト閲覧者全員に対してメンテナンス画面を表示させる場合には、
以下になります。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} !=/maintenance.html
RewriteRule ^.*$ – [R=503,L]
</IfModule>
パターン2
管理者や作業者など特定の人物のみ閲覧できるようにする場合は、
こちらになります。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} !=/maintenance.html
RewriteCond %{REMOTE_ADDR} !=xxxx.xxxx.xxxx.xxxx
RewriteCond %{REMOTE_ADDR} !=xxxx.xxxx.xxxx.xxxx
RewriteRule ^.*$ – [R=503,L]
</IfModule>
<IfModule mod_headers.c>
Header set Retry-After “Thu, 7 Mar 2019 12:00:00 GMT”
</IfModule>
※「xxxx.xxxx.xxxx.xxxx」の部分は、IPアドレスに変更して下さい。
各記述の解説
【ErrorDocument 503 /maintenance.html】
メンテナンス画面を読み込みます。
また、サイトのメンテナンス時には503エラーを設定します。
こうすることで、過負荷やメンテナンスの為にサイトが一時的にダウンしているだけと
Googleは判断してくれます。
【RewriteCond %{REMOTE_ADDR} !=xxxx.xxxx.xxxx.xxxx】
特定のIPアドレスからのアクセスのみ、メンテナンス中のサイトへのアクセスを許可します。
これにより、管理者や作業者などは、サイトを閲覧できるようになります。
もし複数の場所からのアクセスを許可したい場合には、
複数のIPアドレスを設定することも可能です。
【Header set Retry-After】
メンテナンスの終了予定時刻を設定します。
これを設定しておくことで、サイト訪問者に対してメンテナンスの終了時間を知らせることが出来ます。