dT*blog

design and programming

サイトへの全アクセスを特定ページに転送する方法

時限的なサイトの運営でよくあるのが、閉鎖時に「サイトのどのページにアクセスされても、『サービス終了のお知らせ』ページを表示させたい」という要件。具体例を出すと、

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]

こんな感じで大丈夫のはず。お疲れさまでした。

Posted by dT by 23:04

トラックバック

このエントリーのトラックバックURL
http://www.deftrash.com/admin/mt/mt-tb.cgi/427

コメント




保存しますか?

(書式を変更するような一部のHTMLタグを使うことができます)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30