サイト移動(URL転送)の方法

サーバを変更したり、ドメインを取得したりして、URL(アドレス)が変わると、変わったことを表示したり、 旧サイトにアクセスした場合、自動で新しいサイトに転送されるようにする方法の覚え書きです。

目次


.htaccessを使う

ドメインを変更したときなど、サイトごと引っ越した場合は、.htaccessに

Redirect permanent 転送元 転送先


の様に記述します。 「転送元」には、ルートドメインから下の部分を記述します。
「転送先」には、転送先のURLを記述します。
例えばhttp://hoge.jp/~michi/以下を転送する場合、
Redirect permanent /~michi/ http://nap.dip.jp/michi/
この様になります。

ただし、Apachの設定で、AllowOverrideが、AllまたはFileInfoになっていないと、この方法は使えません。

Apacheはクライアントに301リダイレクトを返します。


HTMLファイルに記述する(metaタグを使う)

一つのHTMLファイルの場所を変更したときなどは、こちらを使うと便利でしょう。
転送元のHTMLファイルのヘッダー(<head>〜</head>)内に、次の様に記述します。


<meta http-equiv="Refresh" content="「秒数」;URL=「転送先」">


「秒数」には、転送するまでの秒数を指定します。0にするとすぐに転送されます。
「転送先」には、転送先のURLを記述します。

ただし、この方法では、旧サイトに有ったHTMLファイルの数だけ作成する必要があります。。
また、サーバは 301リダイレクトを返しません。

PHPを使う。

サーバの設定で、.htaccessが使えない場合でも、PHPがつかえれば301リダイレクトを返す方法が有ります。
<?php
header("HTTP/1.0 301 Moved Permanently");
header("Location: 「転送先」");
?>
「転送先」には、転送先のURLを記述します。 HTMLファイルがPHPファイルになるので、ファイルの拡張子が変わってします。 その為、index.htmlをindex.phpに変更して使うぐらいしか出来ません。

301リダイレクトを使う理由

サイトを移動したことを知らせるにに、301リダイレクトを使う理由は、 検索エンジンに旧サイトを新サイトが同じだと知らせる為です。 googleやyahooの説明を参考にしてください。

また、 View HTTP Request and Response Headerで、どのようなリクエストが返されるかを確認することができます。
戻る

お問い合わせは:山本道成までどうぞ。