サーバー側でリダイレクトできないときの設定方法を解説

更新日:
サーバー側でリダイレクトできないときの設定方法を解説

.htaccessとは、Webサーバーの動作を制御するための設定ファイルのことで、主にリダイレクトを行う際に用いられます。しかし、サーバーの設定によっては利用できないというケースも多々あります。

今回は、リダイレクトをするに当たり、.htaccessが利用できるケースと、サーバーサイドのリダイレクトが設定できない時の対応方法について、詳しく解説していきます。

 

なお「仕様でリダイレクトできない」「正しく設定したはずなのに、リダイレクトが効かない」などお困りの方は、ナイルにサクッと相談してみませんか?

SEO対策の悩みをプロに相談してみませんか?

SEOやWebマーケティングの悩みがありましたら、お気軽にナイルの無料相談をご利用ください!資料では、ナイルのSEO支援実績(事例)、コンサルティングの方針や進め方、費用の目安といった情報をご紹介しています。あわせてご覧ください。

サービス資料をダウンロードする

無料でナイルに相談する

ナイルのSEO相談室」は業界歴15年超のナイルが運営しているメディアです。SEOの最新情報を随時発信しているので、ぜひブックマークしてください!

またSEOにお悩みの方は無料相談やSEOコンサルティングサービスのご利用もぜひご検討ください!

リダイレクトする理由

SEO対策をしていく上で、リダイレクト(転送)という言葉を聞いたことがあるかと思います。まずは実際にどういった場合にリダイレクトを行うかをおさらいしましょう。リダイレクトを行うのは例えば以下のような場合です。

  • WebサイトのURLを変更した場合
  • URLを正規化する場合

簡単にそれぞれについてリダイレクトを行う理由を解説します。

WebサイトのURLを変更した場合

URLの変更の例

ドメインを変更する場合や、同じドメインでディレクトリやファイルを変える場合など、URLが変わった場合のことです。この場合、以下のような理由でリダイレクトを行います。

  • 旧URLにアクセスしたユーザーやクローラーが正しいURLにアクセスできるようにする
  • 旧URLから検索エンジンの評価を受け継ぎ

 

    • 正規化の場合

URLを正規化する例
例えばwwwの有無や、index.html・index.php等の有無のURLが存在する場合です。検索エンジンは、WebサイトをURL単位で評価するため、wwwの有無など複数のURLが存在していると、正しい評価が得られない可能性があります。そこで、その分散したURLを1つにすることを正規化と呼びます。この正規化にリダイレクトが用いられていました。

ただし、現在のGoogleは非常に優秀なために、こういったページ群は重複ページであると自動で判定し正規ページを認識してくれるために、リダイレクトの正規化処理の重要度は低くなってきています。

リダイレクトの種類

よく利用されるリダイレクトには、「301リダイレクト」と「302リダイレクト」の2種類があります。

301リダイレクトは恒久的なページの移転を表し、ページを引っ越した際には301リダイレクトを使用します。一方、302リダイレクトは「一時的な移転」を意味するため、検索エンジンが定期的に古いWebサイトに訪れます。

302リダイレクトが利用されるケースは、サイトのリニューアルにおける本番実装やメンテナンス中において、一時的に準備中を説明するページへユーザーを遷移させる際、ABテストの実施時などが挙げられます。

\もしサイトリニューアル対応中であれば、こちらも参考にしてください!/

サーバーサイドリダイレクトを有効にする方法

通常、リダイレクトは、Webサーバーの設定で行います。Apacheの場合、.htaccessというファイルを、nginxの場合は、nginx.confというファイルを利用して設定します。なお、IISの場合は、ウィザードに従えば設定が行うことが可能です。

.htaccessの例

http://www.hoge.com/のURLで、www有り、index.htmlなしに正規化する例です。

RewriteEngine on
RewriteCond %{HTTP_HOST} ^hoge\.com
RewriteRule (.*) http://www.hoge.com/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^.*/index.html
RewriteRule ^(.*)index.html$ http://www.hoge.com/$1 [R=301,L]

Apacheでは、この.htaccessが利用できなくなっている場合や、また、.htaccessは利用できるのものの、リダイレクトが利用できなくなっている場合があります。その場合は、Apacheの設定ファイルhttpd.confの設定を変えることで、.htaccessが使用できるようになります。

このhttpd.confというファイルのAllowOverrideという項目をAllにします。

AllowOverride All

また、RewriteEngineを利用するには、mod_rewriteというモジュールを有効化する必要があります。同じhttpd.confの

LoadModule rewrite_module modules/mod_rewrite.so

という行が#でコメントアウトされていないかご確認ください。

なお、httpd.confの設定を変えた場合、Apacheを再起動する必要があるので注意です。

これらの設定は、サーバーのroot権限がないと、設定出来ません。専有サーバーやVPS等の一部を除き、共用サーバーをご利用の場合は、設定ができない場合が多いので、サーバーの管理者などに確認されることをおすすめします。

サーバーサイドリダイレクトが使用できない時には

リダイレクトは、.htaccess等サーバー側の設定で行うことが理想ですが、サーバーの仕様やCMSの仕様などで、リダイレクトが使用できない場合があると思います。その代替案をいくつか紹介したいと思います。

PHP等プログラムによる対応

PHPなどのプログラムでも301リダイレクトを行うことが可能です。プログラムで指定しているため、個別に設定する必要がありますが、SEO上、サーバー側での設定と同じ結果が得られます。つきましては、サーバーサイドリダイレクトが行えない場合、最も優先度が高くなります。
PHPの場合の設定例

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

Ruby on Railsの場合の設定例

redirect_to “http://www.hoge.com”, :status => 301

サーバー側での設定と同じ効果が得られるということで優先度は最も高くなります。

JavaScriptによる設定

JavaScriptも、location.hrefやlocation.replaceといった関数を用いることで、リダイレクトを使用することが可能です。

Googleの検索エンジンは、JavaScriptのリダイレクトをサーバーサイドリダイレクトとほぼ同等に処理することできますが、その他の検索エンジンでは上手くリダイレクトされない可能性があるため注意が必要です。

meta refresh

metaタグのタグの1つで、meta refreshというものがあります。これを用いると指定した秒数後に、指定したURLにリダイレクトされます。サーバーでのリダイレクトが技術上難しい場合に活用しましょう。0秒を指定することで、瞬間的にリダイレクトされるようになります。

meta refreshの使用例

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

クライアントサイドリダイレクトの一種であり、検索エンジンの処理に時間がかかるため、優先度はリダイレクトの中で最も低くなります。

rel=”canonical”

rel=”canonical”とは、類似したコンテンツを持つ複数のURLの中から、検索エンジンに優先させるページを伝えるためのものです。このcanonicalで、リダイレクト先のURLを指定します。こうすることで、検索エンジンに対し、「優先すべきURLはこっちですよ」と示すことができます。

rel=”canonical”の記述例

<link rel="canonical" href="http://www.hoge.com" />

ただし、rel=”canonical”は、あくまでもGoogleへの提案として扱われます。したがって、必ずしも、検索結果がcanonicalの設定通りになるわけではなので、注意が必要です。また、そもそもリダイレクトではないため、各種リダイレクトが一切使用できないという場合に使用しましょう。

まとめ

  • リダイレクトは、極力.htaccessなど、サーバーの設定で行うことが理想。
  • .htaccessは、無効になっている場合があるので注意。
  • リダイレクトが行えない場合はPHP等のプログラムでリダイレクトさせる。

 

ナイルでは、それぞれの企業の商品・サービスに合致した顧客を集客することを目的に、SEOコンサルティングを行っています。すべてSEO施策を依頼することだけではなく、自社でSEOを実施するインハウスSEOに向かうためのサポートも可能です。ぜひ一度、ご相談ください

集客・コンバージョン数を増やしたい方へ

ナイルのSEOコンサルティングは流入数の改善はもちろん、売上に貢献するコンバージョンも増やします。予算未定でも構いません。ぜひお気軽にご相談下さい!

サービス紹介をダウンロードする

ナイルに無料相談する

編集者情報

金子 光(かねこ ひかる)
金子光

新卒で楽天グループ株式会社に入社。営業管理として40人規模のチームをマネジメント。その後社員3人のベンチャー企業に入社し新規事業立ち上げを経験。現在はナイルのSEO相談室編集長として、Webマーケティングに従事している。

PIVOTにもスポンサード出演しました!

PIVOTにもスポンサード出演しました!
チャンネル登録者数が100万人を超えるYoutubeチャンネルPIVOTにスポンサード出演しました!
動画内では、マーケティング組織立ち上げのための新しい手段についてお話しています。
マーケティング組織に課題がある方はぜひご覧下さい。
動画を見る

関連記事

.htaccessとは

【基本】.htaccessとは SEOにおける活用方法やディレクトリへの有効範囲について

302リダイレクトとは301リダイレクトとの違いや使用時のポイントを解

302リダイレクトとは/301リダイレクトとの違いや使用時のポイントを解説

301リダイレクトとは?SEOへの影響や設定方法、注意点を解説

新着記事

検索ボリューム_アイキャッチ

検索ボリュームはどう調べる?調査ツールやキーワード選定方法を解説

サイト内検索_アイキャッチ

サイト内検索とは?やり方や導入方法・メリットをわかりやすく解説

SEMとは_アイキャッチ

SEMとは?SEOとリスティング広告の違いなどを、事例を交えて解説

サイト内検索

目次に戻る

もっと効果的な集客施策
してみませんか?

Web戦略の情報を
定期的に受け取りたい方

取材・メディア掲載に関するお問い合わせは、こちらからお問い合わせください。