[2009-05-16-3] は、今回の布石でした。決して、Web サーバと直接お話し
したいわけではありません。w

移転を読者にお知らせする、一番簡単な方法が [2006-05-28-1] にも書い
たメタリフレッシュです。ただ、全ての *.html や CGI に仕込む必要があ
りますし、検索エンジンに伝わるかどうかは検索エンジンの実装に依存し
てしまいます(※[2009-05-17-2] )。以降で述べる .htaccess の使用が許可
されていない時を除き、使うべきではないでしょう。

実は、HTTP ステータスコードには移転関係のコードもあります。

301: Moved Permanently
302: Found
303: See Other
307: Temporary Redirect

説明は「HTTPステータスコード 」に譲りますが、Web サー
バが 301 を返すようにすると、検索エンジンが適切に処理してくれます。

では、どうすれば Web サーバが 301 を返すようになるのでしょう?

例えば、http://src.example.jp/~masutaka/ から
http://dst.example.com/~masutaka/ に構成を変えずにそのまま移転した
い場合は、.htaccess に以下のように記載します。.htaccess は、
http://src.example.jp/~masutaka/.htaccess に相当する場所に置きます。

<IfModule mod_rewrite.c>
	RewriteEngine On
	RewriteBase /
	RewriteRule (.*) http://dst.example.com/~masutaka/$1 [R=301,L]
</IfModule>

今回は試しに http://www8.atpages.jp/hotsuma/test.html
http://homepage2.nifty.com/chronicle/test.html に飛ばす設定を仕込ん
でみました。

<IfModule mod_rewrite.c>
	RewriteEngine On
	RewriteBase /
	RewriteRule ^(test\.html)$ http://homepage2.nifty.com/chronicle/$1 [R=301,L]
</IfModule>

では [2009-05-16-3] の方法で、Web サーバが 301 を返しているのかを確
認してみましょう。

% telnet www8.atpages.jp 80
Trying 203.152.213.231...
Connected to www8.atpages.jp.
Escape character is '^]'.
GET /hotsuma/test.html HTTP/1.0         #<= 入力後、Enter×2回

HTTP/1.1 301 Moved Permanently          #<= やった!!
(途中省略)
<H1>Moved Permanently</H1>              #<= もちろん転送先も通知されます。
The document has moved <A HREF="http://homepage2.nifty.com/chronicle/test.html">here</A>.<P>
(以下省略)

Web サーバが、HTTP ステータスコード 301 を出力していることを確認出
来ました!!

参考情報: apache rewrite設定 - Webページ引越ししました - ふっくんのブログっぽいサイト
参考情報: mod_rewrite
参考情報: Apache : mod_rewriteリファレンス - dawgsdk.org

www8.atpages.jp 向け情報:
今回は説明しませんでしたが、本来は Redirect でも同じ設定が出来るよ
うです。でも、このサーバでは使えませんでした。Redirect は OFF になっ
ているようです。@pages のヘルプ にはどこにも書いていませんでした…。
ちなみに Apache の機能としてみると、Redirect はデフォルト、Rewrite
は configure 時にオプションを指定すると使える機能です。