.htaccessのリダイレクトの書き方を簡潔に紹介!設定方法や注意点も解説!

.htaccessのリダイレクトの書き方を簡潔に紹介!設定方法や注意点も解説!

公開日:2022/9/30
 最終更新日:2022/9/30

「.htaccess(エイチティアクセス)」を使って行うリダイレクトについて解説します。

  • .htaccessの基本情報からリダイレクトの種類
  • 具体的な設定手順や、.htaccessが必要なケースとすぐに使えるテンプレート
  • SEOに関するリダイレクトの解説
  • 注意するべきポイントと確認する方法

まで、徹底的に解説しますのでぜひ参考になさってください。

なお、ホームページ作成をご検討なら、BESTホームページをご検討ください。

目次

  1. 1..htaccessとは
  2. 2.リダイレクトとは
  3. 3.リダイレクトの種類
  4. 4..htaccessによるリダイレクトの設定手順
  5. 5.リダイレクトが必要なケースと書き方テンプレート
  6. 6.SEOで使われるリダイレクト
  7. 7.SEOの評価を引き継がないリダイレクトの方法
  8. 8.デバイスによって別のURLで運営している場合
  9. 9.nginxによるリダイレクト
  10. 10.リダイレクトをする際の注意するべきポイント
  11. 11.「301リダイレクト」を確認する方法とは?
  12. 12.まとめ

01.htaccessとは

.htaccessとは

「.htaccess(エイチティアクセス)」は、ウェブサーバー内に保存して、ウェブサーバーの設定を変更するテキスト形式のファイルです。

ウェブサーバーの設定は本来、ターミナルやプロンプト画面でコマンドを操作して管理者が行います。

サーバー管理者の負担を減らすため、ウェブサイトを構築する上で必要な設定はこの.htaccessファイルにコマンドを記載することで、サイト管理者の権限で設定を編集することが可能です。

そのため、.htaccessは検索エンジンへの対策(SEO対策)以外でも、ウェブサイトを構築する際に利用する機会が多いファイルです。

1-1..htaccessファイルが使えるサーバーとは

ウェブサイトの設定変更に便利な.htaccessファイルですが、すべてのサーバーで利用することはできません。

Nginxと呼ばれるウェブサーバーや、Microsoft Windowsで使われるIISなど、.htaccessファイルに対応していないウェブサーバーもあるので、利用を検討する前にホスティングやレンタルサーバーの仕様を確認する必要があります。

1-2..htaccessの有効範囲とファイルの設置場所とは

.htaccessファイルは、ウェブサーバー上で管理しているディレクトリ(フォルダー)であれば、どこでも配置ができます
また、.htaccessファイル内に記載された内容は、保存されたディレクトリ以下のサブディレクトリにも反映されます。

例えば、ウェブサイトのディレクトリ構成の一番上に保存した.htaccessファイルの内容は、サイト内のすべてのディレクトリやHTMLコンテンツに影響を与えます。
.htaccessファイルは、ディレクトリに対して1つしか設置することはできませんが、.htaccessファイルを複数のディレクトリに配置することは可能なので、ディレクトリ毎に設定を変更できます。

また、異なる.htaccessファイルの記載内容で競合が発生した場合には、下の階層のディレクトリに配置されている.htaccessファイルの内容が優先されます。

1-3.リダイレクト以外で.htaccessができること

.htaccessファイルを利用する目的で多いのが、URLの転送を行うリダイレクト処理ですが、その他にも次のような機能があります。

ベーシック認証

パスワードを使って、コンテンツを表示する権限を認証できます。

あらかじめパスワードとユーザー名を保存したファイルを配置しておく必要がありますが、特定の利用者だけに向けたコンテンツを配信する場合や、検索エンジンの影響を受けないコンテンツを作りたい場合などに有効な機能です。

キャッシュ制御

頻繁に更新されない画像やフォント・スクリプトファイルなどを保存して、ウェブページの表示速度を上げられます。
読み込みの遅いサイトで、ページで表示が待ちきれず離脱してしまう利用者へ、離脱を防止するのに有効な機能です。

アクセス制御

IPアドレスやドメイン名を指定して、ウェブサイトへのアクセスを許可・禁止ができます。
特定のドメインや、範囲を指定したIPアドレスなどを使って、攻撃者からウェブサイトを保護するような場合に利用できます。

その他にも、IPアドレスやドメインを指定して、特定の接続先から管理用のページにアクセスできるよう許可し、ウェブサイトのセキュリティを高めるような使い方があります。

.htaccessとは

02リダイレクトとは

.htaccessファイルで最も利用される機能は「リダイレクト」です。
ウェブサーバー内の特定のURLが呼び出された場合に、別のURLに書き換えて表示します。

ウェブページをブラウザで閲覧している利用者には、強制的に別のページに飛ばされた感覚になります。
そのためリダイレクトは「自動転送」や「転送」と呼ばれることもあります。

HTMLのmetaタグやJavaScriptを使って同じように「転送」を行うこともできますが、リダイレクトには.htaccessファイルが使われる機会が多いです。
.htaccessファイルであればディレクトリ(フォルダー)単位での転送の設定が可能であることや、転送元のページを用意する必要が無い、といったことが理由として挙げられます。

2-1.リダイレクトの重要性や目的とメリット

.htaccessファイルを使ったリダイレクトを行うメリットには次の点が挙げられます。

URLに変更があった場合ブックマークや外部リンクがエラー表示にならない

ドメイン名の変更やサイトのリニューアルで、URLに変更があった場合に、ブラウザのブックマーク、他サイトのリンクからのアクセスに対して、エラー画面を表示せずに、適切なページへ利用者を誘導できます。

メンテナンスやサーバーのトラブル時に、利用者に状況を伝える

サイトの更新など保守作業や、何らかのトラブルが発生してサイトが正常に動作しない場合に、別のURLにアクセスを誘導して、利用者にサイトの状況を説明するページを表示できます。

新しいURLに検索エンジンの評価を引き継いでアクセスさせる

Googleなど検索エンジンの評価を引き継いで、新しいURLに移動できます。

利用者にはメリットはありませんが、ドメイン名などを変更した場合にサイトの評価をやり直す必要がなくなり、過去の評価を引き継げることは、サイトの運営にとって多大なメリットがあります。


03リダイレクトの種類

.htaccessファイルでは用途に応じて、複数のリダイレクトを使い分けられます。
リダイレクトには、実行した場合にサーバーからの応答に含まれる“ステータスコード”と呼ばれる数値を先頭に追加し、「301リダイレクト」と「302リダイレクト」の2種類を設定できます。

3-1.①301リダイレクト

「301リダイレクト」は、ウェブサイトで最も使われるリダイレクトの種類で、転送後のURLが永続的な移転先であるという意味として扱われます。

301リダイレクトは、次のようなケースで利用されます。

  • ドメイン名やURLに大きな変更があった場合
  • 複数のURLを1つに統合する場合
  • サーバー証明書の導入でサイト全体をSSL(HTTPS)化した場合

また、リダイレクト前のURLを今後は使わないという意味で利用するため、検索エンジンは転送前のURLで判断していた評価を、転送後のURLに引き継いでくれます

サイトの移転などでドメイン名が変更になると、検索エンジンの評価(検索順位)は通常やり直しになります。
ですが、301リダイレクトを使えば、古いサイトの評価を新しいサイトに引き継ぐことができます。

3-2.②302リダイレクト

「302リダイレクト」は、永続的なURL変更の「301リダイレクト」とは異なり、“一時的な変更”として扱われます。
主に次のようなケースで利用されます。

  • メンテナンスや不具合でURLにアクセスできない場合
  • ABテストなど一時的に用意したURLを利用者に表示したい場合
  • スマートフォンなど利用者のデバイスに応じてURLを切り替えたい場合

302リダイレクトは、リダイレクト先が一時的なものであり今後に利用しない場合に設定します。
検索エンジンはリダイレクト後のURLに評価を引き継がず、転送前のURLで評価を行い転送後のURLの評価は行いません

メンテナンス用やトラブル時に利用者に説明する一時的なページを使用する場合でも、検索エンジンの評価を気にせずに転送できます。

リダイレクトの種類

04.htaccessによるリダイレクトの設定手順

4-1..htaccessファイル有無を確認する

サーバーに保存されたファイルを確認します。
.htaccessファイルは、1つのディレクトリ(フォルダー)に1つしか設定できないため、対象のディレクトリで「.htaccess」を検索し、既存ファイルの有無を確認します。

ファイルがある場合には、既存のファイルを編集、無い場合にはテキストファイルを作成し、ファイル名は「.htaccess」として保存します。
.(ドット)の前のファイル名は無く、「.htaccess」という拡張子のみの構成になっているので注意してください。

また、サイトをWordPressなどの既存システムで構築している場合には、自動で「.htaccess」が作成されている可能性もあります。
よってWordPressで初めて.htaccessファイルを使う場合でも、ファイルの有無を確認します。

4-2.リダイレクトを記述する

新しく追加した(または既存の)ファイルに、リダイレクトに関する設定を追加していきます。
.htaccessファイルで設定するリダイレクトは、大きく分けて次のような設定ができます。

  • ドメイン部分を変更してリダイレクト
  • ディレクトリ部分を変更してリダイレクト
  • ページ(ファイル名)部分を変更してリダイレクト
  • URLの統一化を行うリダイレクト
  • サイトのSSL化によるHTTPSへのリダイレクト

.htaccessファイルには転送を行う設定を追加しますが、転送時に変更する部分(ドメイン名など)や適用範囲に応じて設定内容が変わります。

また、サーバーの仕様や環境によって.htaccessファイルの内容に制限を受ける可能性もあるため、紹介する内容がそのままサイトで動作しないことがあります
その場合は、利用するサーバーの環境に合わせる必要があります。

.htaccessによるリダイレクトの設定手順

05リダイレクトが必要なケースと書き方テンプレート

ウェブサイトでは、様々なケースでリダイレクトを利用します。
それぞれのケースに分け、実際に.htaccessファイルに記載するリダイレクト処理の内容について、ご紹介してまいります。

5-1.ドメイン名を変更する場合

サイトの移転時に、ディレクトリ構造などサイトの構成に変更が無く、ドメイン名のみの変更があった場合、検索エンジンの評価を引き継ぐ301リダイレクトを行います。

例えば、https://www.before.com/ から https://www.after.com/ にURLのドメイン名部分を変更する際は、次のように.htaccessファイルに記載します。

RewriteEngine on
RewriteCond %{http_host} ^www.before.com
RewriteRule ^(.*) https://www.after.com/$1 [R=301,L]

5-2.サブドメイン名を変更する場合

URLのサブドメイン名の有無に関わらず、ホームページが表示されるように設定している場合、重複コンテンツと判断されないように、どちらかのURLに統一するようリダイレクトを行います。

例えば、https://sample.com/ から https://www.sample.com/ に変更する際は、次のように.htaccessファイルに記載します。

RewriteEngine on
RewriteCond %{HTTP_HOST} ^sample\.com$
RewriteRule ^(.*)$ https://www.sample.com/$1 [R=301,L]

5-3.ディレクトリ名を変更する場合

サイトのリニューアルでディレクトリ構造の変更があり、過去のコンテンツで使っていたURLが削除された場合、過去に登録されたブックマークや外部リンクからのアクセスに対応するため、有効なURLにリダイレクトを行います。

例えば、sample.com/dir1/page.html から sample.com/dir2/page.html に変更する際は、次のように.htaccessファイルに記載します。

RewriteEngine on
RewriteRule ^dir1(.*)$ /dir2$1 [R=301,L]

5-4.ページ名を変更する場合

ユーザーの行動を調査するためのABテストや、マーケティング用のランディングページなど、ページ単位でURLが無くなってしまう場合、過去の外部リンクやメールに記載したリンクからのアクセスに対応するため、エラーにならないページへリダイレクトを行います。

例えば、sample.com/page1.html から sample.com/page2.html にリダイレクトする際は、次のように.htaccessファイルに記載します。

RewriteEngine on
RewriteRule ^page1.html$ /page2.html [R=301,L]

5-5.大幅にURLを変更する場合

サイトの大幅なリニューアルなどで、ドメイン名やディレクトリ構造、コンテンツのファイル名まですべて変更する場合は、検索順位に多大な影響があると考えられます。
そのため、検索エンジンの評価を引き継げるようなリダイレクトを行います。

例えば、before.com/dir1/page1.html から after.com/dir2/page2.html に変換してリダイレクトする際は、次のように.htaccessファイルに記載します。

RewriteEngine on
RewriteRule https://before.com/dir1/page1.html
https://after.com/dir2/page2.html [R=301,L]

5-6.URLを正規化する場合

ウェブサーバーの機能には、URLの末尾を補完してコンテンツを表示するデフォルトページの設定があります。

例えば、以下のようなURL末尾のファイル名の有無でも、同じコンテンツが表示されてしまう場合、検索エンジンは重複コンテンツと見なす可能性があります。
そのため、URLを正規化(統合)するリダイレクトを.htaccessファイルに記載します。

  • https://www.sample.com/home/
  • https://www.sample.com/home/index.html
RewriteEngine on
RewriteCond %{THE_REQUEST} ^.*/index.html
RewriteRule ^(.*)index.html$ https://www.sample.com/$1 [R=301,L]

5-7.HTTPSに変更する場合

最近では標準的に利用されている、サーバー証明書を使ったSSL接続をサイトに導入する場合、既存(http://)の接続と、SSL接続(https://)が混在することになります。

そのため、検索エンジンの評価で重複コンテンツと判断されないよう、.htaccessファイルに次のような記載をし、SSL接続に統一するリダイレクトを行います。

RewriteEngine on
RewriteCond %{ HTTPS} off
RewriteRule ^(.*)$ https://%{ HTTP_HOST}%{REQUEST_URI} [R=301,L]

5-8.特定のディレクトリを除外する場合

全体的にリダイレクト設定を行った場合、特定のディレクトリだけをリダイレクトから除外する方法があります。スト

例えば、サイト内のjogaiディレクトリをリダイレクトから除外するには、.htaccessファイルに次のように記載します。

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_URI} !(^/jogai/)
RewriteRule ^$ http:www.sample.com [R=301,L]

5-9.エラーページに転送する場合

リダイレクト設定を行う場合は、すべてのURLを対象に行うのが望ましいです。
しかしどうしてもリダイレクト先が無い場合、あらかじめ準備したエラー用のコンテンツやPDFファイルにリダイレクトして表示することで、ブラウザのエラー画面が表示されるのを防止します。

例えば、エラー用のコンテンツ404.html にリダイレクトしたい場合、.htaccessファイルに次のように記載します。

ErrorDocument 404 /404.html
リダイレクトが必要なケースと書き方テンプレート

06SEOで使われるリダイレクト

サイトの検索順位を上げるためのSEO対策として、同じページが異なるURLで表示される重複コンテンツを減らす必要があります。
同じコンテンツを複数のURLで運用した場合、アクセス数の集計にも影響があるため、リダイレクトを利用してURLを統一(正規化)します。

6-1.wwwありのURLへリダイレクト

サイトURLにwwwがあってもなくても表示される場合、これもwwwがあるURLとないURLで2種類のサイトが存在すると判断されます。
この状態ですと、検索エンジンは2種類のURLに対して重複したコンテンツである、と判断してしまう可能性があります。

これを回避するため、例えば「https://sample.com へのアクセスを https://www.sample.com/ に統一する」場合は、次のように.htaccessファイルを追加して、wwwありのURLに統一します。

RewriteEngine on
RewriteCond %{HTTP_HOST} ^sample\.com$
RewriteRule ^(.*)$ https://www.sample.com/$1 [R=301,L]

6-2.wwwなしのURLへリダイレクト

反対に、wwwありのURLをwwwなしのURLに統一したい場合、例として「https://www.sample.com へのアクセスをhttps://sample.com/ に統一する」場合は、次のように.htaccessファイルを追加して、wwwなしのURLに統一します。

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.sample\.com$
RewriteRule ^(.*)$ https://sample.com/$1 [R=301,L]

6-3.URLの末尾を統一するリダイレクト

URLの末尾(ページのファイル名の有無や、スラッシュ記号の有無など)が違っていても、同じコンテンツが表示される場合があります。

例えば、次のようなURLだと、検索エンジンには別のURLとして認識されてしまいます。
また、アクセスログにはそれぞれ別のURLとして保存されるので、集計時の手間を考えても統一することで管理しやすくなります。

http://sample.com/index.html
http://sample.com/
http://sample.com

次のように.htaccessファイルを追加して、統一したURLにリダイレクトを行います。
下記の場合は末尾を「/」(スラッシュ)に統一する.htaccessです。

RewriteEngine on
RewriteCond %{THE_REQUEST} ^.*/index.html
RewriteRule ^(.*)index.html$ https://sample.com/$1 [R=301,L]

6-4.SSL接続でhttpをhttpsにリダイレクト

サイトの公開後にサーバー証明書を使った接続を導入した場合、過去のブックマークや、内部・外部サイトからのリンクに、既存(http://)の接続と、SSL接続(https://)が混在することになります。

この場合も検索エンジンから重複コンテンツと評価される場合があるため、次のように.htaccessファイルを追加してSSL接続に統一するリダイレクトを行います。

RewriteEngine on
RewriteCond %{ HTTPS} off
RewriteRule ^(.*)$ https://%{ HTTP_HOST}%{REQUEST_URI} [R=301,L]
SEOで使われるリダイレクト

07SEOの評価を引き継がないリダイレクトの方法

検索エンジンの評価をブロックする robot.txt ファイルと組み合わせることで、新しいURLを評価の対象から除外して、利用者だけをリダイレクトする設定ができます。

例えば、https://www.before.com/ から https://www.after.com/ に検索エンジンの評価を引き継がないでリダイレクトする場合には、次のような2段階の手順で行います。

7-1.1段階目のリダイレクト

転送元のURLにアクセスがあった際に、検索エンジンの評価をブロックするための一時的に作成したディレクトリ(フォルダー)にリダイレクトを行います。

具体的には次の手順でリダイレクト処理を行います。

  1. リダイレクト用のディレクトリを新しく作成します。(例 tempディレクトリ)
  2. 転送元のディレクトリに次の.htaccessファイルを作成します。
RewriteEngine on
RewriteCond %{REQUEST_URI} !/temp
RewriteRule ^(.*)$ /temp/ [R,L]
  1. 手順1で作成したディレクトリに、次の内容を含んだテキストファイルを robot.txtとして保存します。
user-agent: *
disallow: /blocked

この作業で、リダイレクトされた検索エンジンの評価をブロックできます。(ブラウザでアクセスする利用者は影響を受けません)

7-2.2段階目のリダイレクト

1段階目でリダイレクトしたディレクトリ(例 tempディレクトリ)に、本来のリダイレクト先に転送するため次の内容の.htaccessファイルを作成します。

RewriteEngine on
RewriteCond %{http_host} ^www.before.com
RewriteRule ^(.*) https://www.after.com/$1 [R=301,L]

利用者だけが転送されるため、検索エンジンの評価を引き継がずにリダイレクトが行われます。

SEOの評価を引き継がないリダイレクトの方法

08デバイスによって別のURLで運営している場合

8-1.PCとスマートフォンの振り分け

パソコン用とは別にスマートフォン向けのコンテンツを別のURLで公開している場合、デバイス機器に対応したURLにリダイレクトできます。スト

例えば、iPhoneやAndroid端末からアクセスされた場合に、sp ディレクトリにリダイレクトするには、.htaccessファイルに次のように記載します。

RewriteEngine on
RewriteBase /

RewriteCond %{REQUEST_URI} !/sp/
RewriteCond %{HTTP_USER_AGENT} (iPod|iPhone|Android.*Mobile)
RewriteRule ^(.*)$ sp/$1 [R]

RewriteCond %{REQUEST_URI} /sp/
RewriteCond %{HTTP_USER_AGENT} !(iPod|iPhone|Android.*Mobile)
RewriteRule ^sp/(.*)$ $1 [R]

※HTTP_USER_AGENTの記載は判定するデバイス機器に応じて変更が必要です。

デバイスによって別のURLで運営している場合

09nginxによるリダイレクト

ウェブサーバー nginxでは、.htaccessファイルを利用したリダイレクトを設定できません
リダイレクト機能を利用するには、nginx専用のconfigファイルを作成して編集します。

また「.htaccessコンバータ」を利用することで、.htaccessファイルの内容をconfigファイルに変換できます。


10リダイレクトをする際の注意するべきポイント

10-1.バックアップ

サーバーで作業をする際にリダイレクト以外でも注意するポイントですが、最も重要なポイントは作業前に行うバックアップです。

サーバーにファイルをアップロードする際や編集する際に、様々なミスやトラブルを想定しておく必要があります。
間違ってファイルを上書きしたり、必要なファイルを削除したりした場合、サイトの全ページが正常に動作しなくなる場合も予想されます。

最悪の事態に陥った場合でも、作業前の状態に戻せるようにバックアップを残しておくことは重要です。

10-2.無限ループに注意

リダイレクト処理の特性上、転送先の.htaccessファイルに転送元へのリダイレクトが設定されていた場合、決して終わらないリダイレクトが繰り返されてしまいます。

例えば、.htaccessファイルに次のような記載がある場合、page1.htmlからpage2.htmlへのリダイレクト後に、page2.htmlからpage1.htmlのリダイレクトが発生し、その後は繰り返しとなります。

RewriteEngine on
RewriteRule ^page1.html$ /page2.html [R=301,L]
RewriteRule ^page2.html$ /page1.html [R=301,L]

他にも、次のような.htaccessファイルを配置した場合、すべてのアクセスがloop.htmlにリダイレクトするように見えますが、loop.htmlへのアクセスもloop.htmlにリダイレクトされてしまうため、無限ループに陥ります。

RewriteEngine on
RewriteRule .* /loop.html [L]

このように無限ループが発生すると、エラーでコンテンツが表示されなくなる他に、サーバーへの負荷が増え、パフォーマンスが落ちる結果を引き起こすので注意が必要です。

10-3.301リダイレクトは削除しない

一時的なリダイレクトを行う「302リダイレクト」と違い、「301リダイレクト」の設定は、長期間継続して行う必要があります。
不用意に「301リダイレクト」の設定を解除した場合、検索エンジンに転送前のサイトは別サイトと認識され、転送後のサイトと重複したコンテンツを配信していると評価されます。

リダイレクト設定を削除した場合はサイトに与える影響が大きいため、一度設定した「301リダイレクト」は継続して運用し続けましょう。

また、転送前のサイトを削除した場合も、ブックマークや外部リンクからのアクセスがエラー表示になってしまいます。
そのため、サイトを移行した際はアクセス数などの影響を考慮して、可能な限り移行前のサイトは残しておく必要があります。

10-4.適切な転送先を選ぶ

リダイレクト先のURLにも注意するポイントがあります。

例えば、ショッピングサイトのリダイレクト設定で、商品紹介ページの転送先がトップページだった場合、アクセスした利用者は再度、トップページから商品を検索し、紹介ページに移動する、という手間が発生してしまいます。
そうなると、手間をストレスと感じた利用者は離脱してしまうかもしれません。

他にも、転送前と転送後のコンテンツの内容が大きく異なっているような場合、検索エンジンが不正なリダイレクトとして評価する場合もあるため、内容が適切なリダイレクト先を選択する必要があります。

10-5.METAタグやJavaScriptは使わない

リダイレクトは、HTML内で利用できるMETAタグや、JavaScripでの設定もできます。

しかし、検索エンジンの評価を引き継ぐ設定が効かない場合や、利用するブラウザによっては正常にリダイレクトしない場合もあるので注意が必要です。

また、複数ページのリダイレクト処理を行う場合、対応した数のHTMLファイルを用意する必要があるため、ファイル管理の手間を考えると、METAタグやJavaScriptを使ったリダイレクト処理にはメリットはあまりありません。

10-6.WordPress用の記載

サイトの構築にWordPressを利用した場合、各ディレクトリ(フォルダー)に.htaccessファイルが既に作成されている場合があります。

.htaccessファイルはディレクトリに1つしか作成できないため、その場合は既存のファイルを編集することになります。

ファイル内には、WordPressで利用する設定が追加されているため、変更や削除した場合にはサイトに影響を与える結果になりかねません。
既存の.htaccessファイルを編集する場合には注意が必要です。

リダイレクトをする際の注意するべきポイント

11「301リダイレクト」を確認する方法とは?

リダイレクト設定後には、必ず確認を行います。
設定漏れや間違いがあった場合に、検索エンジンの評価に多大な影響を与える恐れがあるため、確認作業は十分にしておきましょう。

リダイレクト設定の確認は、otohuku.jpで公開されているツールが利用できます。

転送元のURLを入力して[チェックする]ボタンをクリックすると、リダイレクトの設定内容と転送先URLなどの実行結果を確認できます。

その他にも、Mface Toolsにも同様のツールが公開されています。
こちらのツールではリダイレクト回数やヘッダー情報など、詳細な結果を確認できます。

また、オプションでGoogleやYahooなどの検索エンジンの種類を選ぶこともできるので、検索エンジンのリダイレクトをシミュレートすることが可能です。

11-1.301リダイレクトが利用できない場合の代替方法

サーバー環境や設定によっては、リダイレクト設定が利用できない場合があります。
何らかの理由で、.htaccessファイルを使ったリダイレクト処理に制限がある場合には、次のような代替方法があります。

METAタグの利用

HTML内にMETAタグを追加することで、別のURLに転送させることができます。

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

デメリットとして検索エンジンの評価を引き継ぐことができないため、SEOの影響を考慮しない転送の代替手段として利用できます。

JavaScriptの利用

HTML内に以下のようなスクリプトを追加して別のURLに転送できます。

<script>
window.location.href(' https://sample.com/')
</script>

デメリットとしてMETAタグと同様に検索エンジンの評価を引き継ぐことができないため、SEOの影響を考慮しない転送の代替手段としての利用になります。
また利用されるブラウザの種類や設定でJavaScriptが動作しない場合も考えておく必要があります。

canonicalタグの利用

HTML内に次のようなcanonicalタグを設定することで、検索エンジンに評価して欲しいURLを伝えることができます。

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

canonicalタグは、検索エンジンに評価に関するURLを伝えるのみで、実際に設定したURLには転送されません。
そのため、引っ越しやリニューアルなど別のURLに転送したい場合などの代替手段としては利用できません。

11-2.PHPなどの外部プログラムを利用する

JavaScriptやMETAタグなどの代替方法でもリダイレクトが制限されるような場合には、サーバー側で利用できるPHPなどのプログラミング言語を利用して、転送する仕組みを用意する方法もあります。

例えばPHPが利用できる環境では、次のようなコードで301リダイレクトを実行できます。

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

プログラムに関する知識が必要になりますが、何らかの理由でリダイレクトが制限されている場合には、代用する手段の1つです。

「301リダイレクト」を確認する方法とは?

12まとめ

今回は、初めての人でも簡単に301リダイレクトが行える.htacesssファイルの書き方について紹介しました。
実務に役立つテンプレートとして紹介しているので、少し内容を編集するだけでURLの正規化を行い、Googleなどの検索エンジンに対して、重複コンテンツと評価されないようなサイトに改善できます。

無限ループやバックアップ、リダイレクトを削除する期限など、.htacesssファイルの作成に関して注意するポイント、実際にリダイレクトを行う際に参考にしてください。

検索エンジンの評価が引き継げる、.htaccessファイルを使った301リダイレクトは、URLを正規化してSEO対策として良い効果が出せる手段の1つですが、設定漏れや記載ミスがあった場合に検索エンジンの評価を落としてしまうような多大な影響をサイトに与えてしまうので、サイトへ追加する際には十分な注意が必要です。

ぜひ、ホームページのリニューアルをする際に参考にしてください。

もしホームページの作成をご検討されている場合には、簡単な操作でコンテンツの作成ができる弊社の「BESTホームページ」もご検討ください。
BESTホームページは、専門的な知識が必要なく直感的な操作でページを制作が可能です。

初期費用は無料、月額税込6,490円〜と、大変お得な料金で利用していただくことが可能です。
15日間の無料で体験ができますので、お気軽にお試しください。

ぜひこちらからお気軽にお問い合わせください。

― この記事を書いた人 ―

BESTホームページ運営事務局

BESTホームページ運営事務局

3万サイト・30万ページの提供実績を持つホームページ制作会社が運営。成果の出るホームページ作成・運用ノウハウを初心者の方にも分かりやすくお伝えします!

> このライターの記事一覧


関連記事



― Let's Share! ―