時限的なサイトの運営でよくあるのが、閉鎖時に「サイトのどのページにアクセスされても、『サービス終了のお知らせ』ページを表示させたい」という要件。具体例を出すと、
http://www.hoge.com/aaa/index.html
http://www.hoge.com/ccc/ddd/index.php
こういったHTTPリクエストに対して、常に
http://www.hoge.com/close.html
を表示させるというもの。
様々な方法があるとは思うのだけれども、個人的に常用しているのは、Apacheのmod_rewriteを使った方法。なぜ常用しているかと言うと、Apache以外のWebサーバーを運用したことが無いから。
以下、その方法。
施策は超イージー。
RewriteEngine On RewriteRule (.*) http://www.hoge.com/close.html [L]
ただし、たとえば close.html 内で画像とかCSS等の外部ファイル読み込みを行っている場合、それらのリクエストまで転送されてしまうので、よろしくない。今どき画像のリンク切れはカッコ悪い。そういう場合は、以下のような条件文を追加する。
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !\.(js|css|gif|png|jpe?g)$ [NC] RewriteRule (.*) http://www.hoge.com/close.html [L]
こんな感じで大丈夫のはず。お疲れさまでした。
このエントリーのトラックバックURL
http://www.deftrash.com/admin/mt4/mt-tb.cgi/427