カテゴリー
technology

Apacheでサイト一時停止設定(特定IPからのみアクセス許可)

少し探してもなかなかドンぴしゃな情報が出てこなかったので記録のためにまとめておきます。(最後の最後、結局自分の書いた記事にたどりついてヒントを得たりして)
運用中のサイトのメンテナンスなのに一時的にサイト全体のアクセスを禁止して、停止中のお知らせを出すようにしたい、かつメンテナンス中作業者によるアクセス確認のため特定IPからはアクセスを許可する設定は以下のようになります。

RewriteEngine On
RewriteCond %{REMOTE_ADDR} !^192\.168\.0
RewriteRule ^.*$ /maintenance.html [L]

上の例だと、192.168.0.* からのアクセス以外は /maintenance.html の内容を表示するというものです。他のIPやネットワークアドレスを追加したければ RewriteCond を追加すればよいですね。
RewriteCond, RewriteRule はだいたいどのコンテキストでもかけるので、自分の場合は利用する VirtualHost 内に追記してます。
以上。こんなもんかな?