IT-rescueの記事をお読みになり、弊社の事業・技術に興味をもたれた方は、お気軽にお問い合わせ・ご相談ください。
※ご相談内容によっては、ご回答をしかねる場合もございます。予めご了承ください。
カテゴリー:サーバ管理

メンテナンスページをmod_rewriteで出す

mod_rewrite Apache
2009年02月26日

サイトのメンテナンス中にメンテナンスページを表示する。でも、特定のIPアドレスからのアクセスはそのまま通したい場合、mod_rewriteを使ってこんな風に設定します。


ブログでホームページ制作:料金格安で更新費用は無料
248,000円(~50ページ)のホームペーを制作プラン。サーバ月額4600円で更新費用は不要です。
www.website-design.jp

サーバ保守管理・WEBシステム構築をアウトソーシング
サーバ保守管理からWEBシステム構築までを一括定額でアウトソーシングしませんか?
www.managed-serv.com

Web Produce(Web制作):SOUNDBAORD
ワンランク上のホームページ制作サービス。50万円以上の予算があれば是非一度ご検討ください。
www.j-biz.jp


RewriteEngine On
RewriteCond %{REMOTE_ADDR} 192.168.1.140 [OR]
RewriteCond %{REMOTE_ADDR} 192.168.1.141
RewriteRule .* - [L]

RewriteRule /mainte.html$ - [L]
RewriteRule .* /mainte.html [R=302]


このようなmainte.confを用意して httpd.conf からIncludeします。VirtualHostを使っているなら当該VirtualHostディレクティブ内でIncludeします。

2,3行目の RewriteCond でメンテナンス画面を出さずにそのままアクセスさせたいIPアドレスを並べます。これらのRewriteCondにマッチしたIPアドレスの場合は、4行目のRewriteRuleが適用されます。つまり、すべて素通りします。

2,3行目のRewriteCondにマッチしない場合、6行目のRewriteRuleが適用されます。6行目のRewriteRuleは /mainte.html へのアクセスを 素通しさせます。/mainte.html 以外のアクセスの場合、7行目の RewriteRule が適用され /mainte.html へリダイレクトされます。

注意点は mainte.html で画像,CSSやJavaScript等を使う場合には、それらのファイルへのアクセスも6行目の設定と同様に素通しさせる設定が必要です。あるいはメンテナンス画面用のコンテンツを一つのディレクトリにまとめて、そのディレクトリへのアクセスは素通しするように設定します。このあたりはRewriteCondを駆使すれば様々な方法がありますので研究してみてください。

わたしは、mainte.htmlをテキストのみの簡単なHTMLファイルで済ましてしまう場合もあります。


Posted by u at 16:03 | コメント (0)
ソーシャルブックマークに投稿: Yahoo!ブックマークに登録 このエントリーを含むはてなブックマーク この記事をクリップ! イザ!ブックマーク
コメント
この記事にコメントはありません
コメントを送る












※SPAM対策のため、コメントは管理者による確認後に公開されます。



Modified by SOUNDBOARD. Powered by COREBlog. 
掲載の記事・写真・イラストなど、すべてのコンテンツの無断転写・転載・公衆送信などを禁じます。