サイトのリニューアル作業をおこなう上で、あらかじめ用意したメンテナンスページへ強制リダイレクトさせる手法が多いと思う。

ただ、このリダイレクト設定を誤ってしまうと、自分のアクセスもリダイレクトされてしまい、サイトの動作確認ができなくなってしまう。

理想の手順としては、自分のアクセスのみを許可し、十分に表示や動作確認などをおこなった上で、メンテナンスページへのリダイレクトを解除するべきだ。

今回はそのような理想の設定をhtaccessを使って実現する方法を紹介する。

自分のグローバルIPアドレスを確認する

まず、この後の設定で必要となる、自分のIPアドレスを確認するところから始める。

https://www.cman.jp/network/support/go_access.cgi

上記のページへアクセスするとIPアドレスが表示されるので、これを控えておこう。

htaccessファイルの書き方

サイトのルートディレクトリに「.htaccess」ファイルを配置し、下記のコードを追記する。

ErrorDocument 503 /maintenance/

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{REQUEST_URI} !^/maintenance/$
  RewriteCond %{REMOTE_ADDR} !^00.00.000.000$
  RewriteRule ^(.*)$ / [R=503,L]
</IfModule>

このままでは使えないので、以下の2点を変更する。

まず、1行目と5行目にメンテナンスページのパスを、そして6行目に控えておいた自分のIPアドレスを入力する。

これで、指定したIPアドレス以外からのアクセスは全てメンテナンスページへリダイレクトされ、自分のみがサイトを閲覧できるようになる。