「.htaccess リダイレクト」とは?概要や重要性、設定方法、テンプレートなども解説!

「.htaccess」とは、Apacheをはじめとした、各種Webサーバーを制御する設定ファイルです。

またリダイレクトとは、あるWebサイトやページにアクセスしてきたユーザーを、強制的に別ページへ転送する設定のことです。

今回は「htaccess リダイレクト」に焦点を当て、その概要や重要性・メリット、できること、書き方、注意点などをご紹介します。気になるポイントを一挙確認してしまいましょう。

「.htaccess」と「リダイレクト」

ここでは、「.htaccess」と「リダイレクト」について解説します。

「.htaccess」とは?

「.htaccess」とは、Apacheをはじめとした、各種Webサーバーを制御する設定ファイルです。

HTMLやCSSファイルなどと同じく、ディレクトリ内に設置すると機能し、ファイル内に、指定の制御に相当するソースを記述することで様々な設定が行えます。

基本的に、WebサイトはHTMLやCSSなどのマークアップ言語で構成されています。

しかし、リダイレクト処理については、マークアップ言語で処理できないため、サーバー側で対応する必要があるのです。

「リダイレクト」とは?

リダイレクトとは、あるWebサイトやページにアクセスしてきたユーザーを、強制的に別ページへ転送する設定のことです。

「リダイレクト」の重要性とメリット

削除したWebサイトやページのURLを別ページに貼られているリンクや検索結果からクリックすると「Not Found」などのエラーメッセージが表示されます。

リダイレクトを設定すると、旧サイトへの訪問者を新サイトへと誘導でき、機会損失を避けることができます。

またリダイレクトはSEO対策においても重要です。

リダイレクトを設定すれば、旧サイトの評価を新サイトへと引き継ぐことができます。

さらにURLを統一・正規化することで、ドメインやページの評価も統一され、ページ分析やアクセス解析がしやすくなるというメリットもあります。

【株式会社ipe|リダイレクトとは?種類や設定方法、Googleの警告について解説

【株式会社ipe|「URL正規化」とは?概要や必要な理由、具体例、確認方法なども解説!

「リダイレクト」の種類

リダイレクトには、主に2種類存在します。

301リダイレクト 302リダイレクト
概要 WebサイトやページのURLを完全に変更する場合に行う処理 Webサイトやページの転送が一時的に必要な場合に行う処理
SEO評価の引き継ぎ できる できない
利用場面
  • Webサイトやページのリニューアルや移転をきっかけに、URLやドメインを変更した場合
  • URL正規化によって、URLが統一された場合
  • WebサイトやページのSSL化をきっかけに、httpからhttpsにURLを変更した場合
  • Webサイトやページがメンテナンス中の場合
  • Webサイト上でA/Bテストを行う場合
  • ユーザーが使用するデバイスごとに表示ページを変えたい場合

【株式会社ipe|「301リダイレクト」とは?

【株式会社ipe|「302リダイレクト」とは?

「.htaccess」で設定できること

「.htaccess」では以下のようなことが設定できます。

今回は「.htaccess リダイレクト」に焦点を当てて列挙していますが、「.htaccess」では他にもさまざまな設定が可能です。

  • リダイレクト設定(301,302)
  • https転送
  • wwwありなし設定
  • index.htmlありなし設定
  • デフォルトページ設定
  • ベーシック認証
  • アクセス制限

「.htaccess リダイレクト」の書き方とテンプレート

ここでは、「.htaccess リダイレクト」の書き方とテンプレートについて解説します。

今回は例として、301リダイレクトを利用します。(302リダイレクトにしたい場合は数字を入れ替えて記述)。ぜひ参考にしてみてください。

なお「.htaccessファイル」は、基本的にWebサイトを管理するサーバー内に保管されています。

サーバー内のファイルに直接記述を書き加えるか、「.htaccessファイル」を一度ダウンロードし、編集したファイルをサーバー内のファイルと入れ替えるなどして設定を行いましょう。

①ドメインを変更した場合

以下は、古いドメインから新しいドメインへとユーザーをリダイレクトさせる方法です。

【.htaccessの書き方】

RewriteEngine On

RewriteCond %{http_host} ^www.old.com

RewriteRule ^(.*) https://www.new.com/$1 [R=301,L]

※「old.com」には古いドメイン、「new.com」には新しいドメインを記述します。

②ディレクトリを変更した場合

以下は、ディレクトリを変更した場合のリダイレクト方法です。

【.htaccessの書き方】

RewriteEngine on

RewriteRule ^old(.*)$ /new$1 [R=301,L]

※「domain.com/old/page.html」を「domain.com/new/page.html」に変更する場合

③ページURLを変更した場合

以下は、ページURLを変更した場合やページ統合した場合に利用されるリダイレクト方法です。

【.htaccessの書き方】

RewriteEngine on

RewriteRule ^old.html$ /new.html [R=301,L]

※「domain.com/old.html」を「domain.com/new.html」に変更する場合

④URLが大幅に変わる場合

以下は、ドメインやディレクトリ、ページなどURLが大幅に変更される場合に利用されるリダイレクト方法です。

【.htaccessの書き方】

RewriteEngine on

RewriteRule https://www.old.com/old/old.html

https://www.new.com/new/new.html [R=301,L]

⑤特定のディレクトリを除外する場合

以下は、ディレクトリ「B」を「A」へのリダイレクトから除外するリダイレクト方法です。

【.htaccessの書き方】

RewriteEngine on

RewriteBase /

RewriteCond %{REQUEST_URI} !(^/B/)

RewriteRule ^$ http:www.A.com [R=301,L]

SEOで使われる「.htaccess リダイレクト」

実はSEOでよく用いられる「.htaccess リダイレクト」というものも存在します。

SEOに力を入れている運営者様はぜひ参考にしてみてください。

なおSEOのページ評価をリダイレクト先へ引き継ぎたい場合は、301リダイレクトを、引き継ぎたくない場合は、302リダイレクトを利用しましょう。(※書き方の例では、301リダイレクトの方法を記述しています)

①wwwあり・なしを統一する場合

wwwあり・なしでURLを統一することで、SEOのドメイン評価を向上させるリダイレクト方法です。

【.htaccessの書き方】

「wwwあり」でURLを統一する方法 「wwwなし」でURLを統一する方法
RewriteEngine on

RewriteCond %{HTTP_HOST} ^A\.com$

RewriteRule ^(.*)$ https://www.A.com/$1 [R=301,L]

RewriteEngine on

RewriteCond %{HTTP_HOST} ^www\.A\.com$

RewriteRule ^(.*)$ https://A.com/$1 [R=301,L]

②SSL導入する場合

SSL化を導入するために、URLを「http」から「https」にリダイレクトする方法です。

なおWebサイトやページのSSL化は、Googleが検索順位を決定する要素の1つと発表しています。

【Google検索セントラルブログ|ランキングシグナルとしての HTTPS

【.htaccessの書き方】

RewriteEngine on

RewriteCond %{ HTTPS} off

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

③URLを統一する場合(URL正規化)

URLを統一するためのリダイレクト方法です。

①http://aaa.com/aaa/index.html

②http://aaa.com/aaa/

③http://aaa.com/aaa

上記の場合、①と②・③は別URLと認識され、②と③は同一URLと認識されます。

しかし、これでは、アクセスデータが統一されず、SEO評価が3つのサイトに分散してしまうため、リダイレクトで統一しましょう。

【最後に「/」で統一するパターン】

RewriteEngine on

RewriteCond %{THE_REQUEST} ^.*/index.html

RewriteRule ^(.*)index.html$ https://domein.com/$1 [R=301,L]

【最後を「index.html」で統一するパターン】

RewriteEngine on

RewriteRule ^$ /index.html [R=301,L]

【株式会社ipe|「URL正規化」とは?概要や必要な理由、具体例、確認方法なども解説!

「.htaccess リダイレクト」を設定する際の注意点

ここでは、「.htaccess リダイレクト」を設定する際の注意点について2点解説します。

①必ずファイルのバックアップを取る

リダイレクトをする前に、必ずファイルのバックアップを取りましょう。

万が一、リダイレクト設定で失敗してしまった際、ファイルやデータの破損、プログラムエラーなど、トラブルの原因に繋がります。

例えば、.htaccessファイルをアップロードする際、誤った内容で上書き保存してしまうケースです。

リダイレクトの設定後に自サイトが正しく表示されなくなるため、すぐ修正できるよう、事前にバックアップをとりましょう。

②無限ループに注意

リダイレクトの設定をする際は、無限ループに注意が必要です。

無限ループとは、リダイレクト転送を無限に繰り返してしまう状態のことです。

例えば、同じ.htaccessファイルにおいて「AからBへ転送」・「BからAへ転送」という記述をするとします。

すると転送先のページでまた転送が行われるという状態になります。

これでは無限にリダイレクトが続いてしまい、2ページ間で転送を繰り返すだけです。

設定時はコードの記述ミスをしないよう、必ず確認を取るようにしましょう。

「htaccess リダイレクト」を設定し、自サイトのマーケティングに役立てよう!

このページでは、「htaccess リダイレクト」に焦点を当て、その概要や重要性・メリット、できること、書き方、注意点などについて解説しました。

「.htaccessリダイレクト」は、Webサイトのメンテナンスやリニューアル、URLの変更時など、自サイトへ訪問してくれたユーザーを別ページへ誘導する重要な役割を担っています。

ユーザーからの満足度(UX)を低下させないためにも、「.htaccessリダイレクト」処理は設定できるようにしましょう。

「htaccess リダイレクト」や「SEO」でお悩みの場合は株式会社ipeにご相談ください。株式会社ipeではSEOでの大手クライアント実績多数!SEOを検討する際にはぜひ一度ご相談ください。