前の記事 «:MyBooks.jpであなたのMovableTypeブログを本にする
次の記事 »:PHPからIRCに接続するためのクラスライブラリ: SmartIRC

サイト移転時の301リダイレクト処理の具体例

2006年06月22日

スポンサード リンク

Steven Hargrove: How to redirect a web page, the smart way

サイト移転時の方法として、301リダイレクトにより、新しいサイトへの転送が最適な方法とされていますが、その301リダイレクト処理の各種具体例。

.htaccess で301リダイレクトを行う方法

特定ページのみの場合は次のようにします。

redirect 301 /old/old.html http://www.yahoo.co.jp

上記は、/old/old.html にアクセスした場合、www.yahoo.co.jp に301リダイレクトされます。

サイトのドメイン移転をした場合は次のように記述します。

RewriteEngine On
RewriteCond %{http_host} ^www.from-url.com
RewriteRule ^(.*) http://www.to-url.com/$1 [R=301,L]

上記は、www.from-url.com → www.to-url.com に移転した場合の例です。
(mod_rewriteがサーバにインストールされている必要があります)

PHPで301リダイレクトを行う方法

<?php
header( "HTTP/1.1 301 Moved Permanently" );
header( "Location: http://www.to-url.com/" );
?>

PHPの場合、header("Location: 〜"); のようにやりがちですが、これだと302リダイレクトになってしまいます。
移転の場合は必ず、header( "HTTP/1.1 301 Moved Permanently" ); を入れて301レスポンスとしましょう。

サイト上では、その他、IISによる方法、ASP、ASP.net、JSP、CGI/Perl による方法も紹介されています。
尚、サイトによると<meta>タグによるリダイレクトはスパムと判定されることがあるので使うな、だそうです。

スポンサード リンク

投稿者 KJ : 2006年06月22日 09:06 | ブックマークに追加する Subscribe with livedoor Reader
間違いの指摘をしていただける方はメールでお願いします


本を執筆しました。