裏紙に書く程度の内容

.htaccessでメンテナンス画面の設定

apacheの.htaccessでメンテナンス画面を表示させる方法についてのメモ。

.htaccess設定

以下のようにする。

ErrorDocument 503 /maintenance.html

  RewriteEngine On
  RewriteCond %{REQUEST_URI} !=/maintenance.html
  RewriteRule ^.*$ - [R=503,L]

これで全てのアクセスは”maintenance.html”へ飛ばされるようになります。

特定のIPからのアクセスは許可する

前述の設定だと全てのアクセスがメンテナンス画面に飛ばされるため、メンテしてる人も画面の確認ができません。

そこで作業者(メンテナンス者)は通常通りサイトが開けるようにします。

ErrorDocument 503 /maintenance.html

  RewriteEngine On
  RewriteCond %{REQUEST_URI} !=/maintenance.html
  RewriteCond %{REMOTE_ADDR} !^192\.168\.1\.10$
  RewriteRule ^.*$ - [R=503,L]

RewriteCond %{REMOTE_ADDR}の部分に作業者のIPアドレスを設定すれば、通常はメンテ画面にしつつ、作業者は画面を確認できるようになります。

Index
広告