.htaccess④ リダイレクト設定

コーディング
スポンサーリンク

リダイレクト設定とは?

リダイレクトとは「Aページ」にアクセスしたユーザーを「Bページ」に飛ばすことです。
つまりは転送設定のことです。

サーバーの引っ越しやページのURLが変更された時、PCサイトとスマフォサイトを振り分ける時にリダイレクトが使われます。

リダイレクトの種類

リダイレクトには大きく分けて、「301リダイレクト」と「302リダイレクト」があります。

301リダイレクトは最も一般的なWebページの転送方法で、「永続的な転送」を意味します。
302リダイレクトは「一時的な転送」を意味します。

301と302では以下のような違いがあります。

  • 301:永続的な転送、評価引継ぎが行われ、Googleの処理が速い
  • 302:一時的な転送、評価引継ぎが行われるが、301と比べてGoogleの処理が遅い

リダイレクトの書き方

ドメイン変更によるリダイレクト

古いドメインから新しいドメインへのリダイレクトさせます。

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

ディレクトリが変更した場合のリダイレクト

ディレクトリ名を変更した時に使います。以前のディレクトリをブックマークしていたユーザーを誘導することができます。

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

ページのURLが変更した時のリダイレクト

ページのURLを変えた時や、ページを統合した時などに利用されます。

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

URLが大幅に変わる

ドメイン、ディレクトリ、ページ全てが変わる場合は下記になります。

RewriteEngine on
RewriteRule https://www.old.com/old/old.html https://www.new.com/new/new.html [R=301,L]

リダイレクトから特定のディレクトリを除外する

特定のディレクトリだけリダイレクトから除外する方法です。以前のページをそのまま使いたい場合などに使用することがあります。

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

http→https のリダイレクト

HTTPアクセスされたページをSSLでリダイレクトをする方法です。

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

参考

【基本Tips】htaccessリダイレクトの書き方
ドメインやURLの変更で利用するリダイレクトの基本とテンプレートです
【説明書DL】.htaccessのリダイレクト - 書き方・設置場所・設定方法を解説します
ある程度長くウェブ担当をされている方、「リダイレクト(転送)」が必要になった経験ってありませんか?転送は普通にHTMLを編集するだけではできなくて、悩まれる方も多いと思います。 この記事では、下記2点を説明していきます。

コメント

タイトルとURLをコピーしました