リダイレクト

2006年03月11日

リダイレクトを極める

ウェブサイトを運営していく上で、リダイレクトを使う場面は非常に多岐にわたる。

例えば、サイトを引越して新しいURLに飛ばしたい時、長いアフィリエイトリンクを短縮したい時、SEOを考慮し動的ページを静的ページに見せたい時などに、リダイレクトを使う。

■JavaScript を使う方法

ブラウザの設定で、JavaScriptがオフになっているとリダイレクトできないので、この方法は使わない方がいいだろう。サーチエンジンも移転したことを認識してくれない。

■メタタグを使う方法

<meta http-equiv="refresh" content="0;URL=http://example.com/">

content の後の数字は、リダイレクト開始までの秒数を指定する。

リダイレクトに関するHTTPステータスコードは以下の二つがあるが、

301 − 永久的なリダイレクト
302 − 一時的なリダイレクト

Yahoo! では、即時にリダイレクトするように設定している場合、つまりrefresh が0秒では301、リダイレクト開始まで一定の時間を設定している場合は302、として扱われる。

Yahoo! ヘルプ - サイト管理者向け

サーチエンジンに 301として評価されないと、リダイレクト先のページにリンクポピュラリティが付かないので、HTTPステータスコードは301になるようにするべきだろう。

■.htaccess を使う方法

Redirect permanent /destination/hoge.html http://example.com/target/hoge.html

これは結構使いやすい。リダイレクト元は DocumentRoot からの絶対パスで記述する。一つのファイルに複数のリダイレクトを指定可能。


■mod_rewrite モジュールを使う方法

WebサーバがApacheでなおかつ、mod_rewrite モジュールが組み込まれている場合のみ使える方法だ。

●.htaccess にルールを記載

利便性は高い。一つのファイルに複数のリダイレクトを記載できる。

●httpd.conf にルールを記載

Webサーバの設定変更権限が与えられているなら、.htaccessにアクセスするオーバーヘッドを減らせるこの方法がベスト。

RewriteEngine On
RewriteRule ^destination.html$ http://example.com/target.html [R,L]

destination.html というファイルが、http://example.com/target.html にリダイレクトされる。リダイレクト対象は正規表現で記載できる。


■リダイレクトサービスを使う方法

短縮URLサービスともいう。無料で提供されているものも多い。

URLを短縮したいだけの用途に向いている。

とても便利ではあるが、サービスの継続性がリスクになるので、できれば他の手段を選びたい。



■関連記事

HTTPリダイレクトとは 【HTTP redirect】 ─ 意味・解説 : IT用語辞典 e-Words

.htaccessでリダイレクト機能を利用する方法

URLを書き換えるApacheモジュール mod_rewrite


poweraffiliate at 22:52|PermalinkComments(0)TrackBack(0)clip!