リダイレクト
2006年03月11日
リダイレクトを極める
ウェブサイトを運営していく上で、リダイレクトを使う場面は非常に多岐にわたる。
例えば、サイトを引越して新しいURLに飛ばしたい時、長いアフィリエイトリンクを短縮したい時、SEOを考慮し動的ページを静的ページに見せたい時などに、リダイレクトを使う。
■JavaScript を使う方法
ブラウザの設定で、JavaScriptがオフになっているとリダイレクトできないので、この方法は使わない方がいいだろう。サーチエンジンも移転したことを認識してくれない。
■メタタグを使う方法
content の後の数字は、リダイレクト開始までの秒数を指定する。
リダイレクトに関するHTTPステータスコードは以下の二つがあるが、
301 − 永久的なリダイレクト
302 − 一時的なリダイレクト
Yahoo! では、即時にリダイレクトするように設定している場合、つまりrefresh が0秒では301、リダイレクト開始まで一定の時間を設定している場合は302、として扱われる。
Yahoo! ヘルプ - サイト管理者向け
サーチエンジンに 301として評価されないと、リダイレクト先のページにリンクポピュラリティが付かないので、HTTPステータスコードは301になるようにするべきだろう。
■.htaccess を使う方法
これは結構使いやすい。リダイレクト元は DocumentRoot からの絶対パスで記述する。一つのファイルに複数のリダイレクトを指定可能。
■mod_rewrite モジュールを使う方法
WebサーバがApacheでなおかつ、mod_rewrite モジュールが組み込まれている場合のみ使える方法だ。
●.htaccess にルールを記載
利便性は高い。一つのファイルに複数のリダイレクトを記載できる。
●httpd.conf にルールを記載
Webサーバの設定変更権限が与えられているなら、.htaccessにアクセスするオーバーヘッドを減らせるこの方法がベスト。
destination.html というファイルが、http://example.com/target.html にリダイレクトされる。リダイレクト対象は正規表現で記載できる。
■リダイレクトサービスを使う方法
短縮URLサービスともいう。無料で提供されているものも多い。
URLを短縮したいだけの用途に向いている。
とても便利ではあるが、サービスの継続性がリスクになるので、できれば他の手段を選びたい。
■関連記事
HTTPリダイレクトとは 【HTTP redirect】 ─ 意味・解説 : IT用語辞典 e-Words
.htaccessでリダイレクト機能を利用する方法
URLを書き換えるApacheモジュール mod_rewrite
例えば、サイトを引越して新しい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