いろんな言語で 301 Moved Permanently をする方法

サイトのドメインを移転するときに、Googleなどの検索エンジン推奨されている 301 Moved Permanently
をいろんな言語でやってみました。

.htaccessを使う

  • サイト全体をredirectする場合

redirect 301 / http://itog-lab.info/

  • ファイルを指定してredirectする場合

redirect 301 /hoge.html http://itog-lab.info/hoge.html


スクリプトを使う

スクリプトを使う場合はファイルごとの指定になります

phpの場合

<?php
header( "HTTP/1.1 301 Moved Permanently" );
header( "Location: http://itog-lab.info/" );
?>

perlの場合

#!/usr/local/bin/perl
print "Status: 301 Moved Permanently\n";
print "Location: http://itog-lab.info/\n";

rubyの場合
perlと同様でもいいけど、cgiクラスを使うとこんな感じ。
rubyだけ、ググってもサクっと出てこなかったなぁ。

#!/usr/local/bin/ruby
require 'cgi'
cgi = CGI.new
print cgi.header({ 'status' => '301', 'Location' => "http://itog-lab.info" })

ステータスコードをチェックする

ちゃんとコード301でリダイレクトされてるかはここでチェックできます。
http://web-sniffer.net/