Bug Explorer

バグに挑み、知識を発見するブログ

【URL正規化】SSL化やURL変更時の301リダイレクト方法【.htaccess】

AKST

SSL 化した Web サイトを運営している時、基本的には「http://」と「https://」の URL を統一する必要があります。

もし「https://」側にリダイレクトされない場合、別々のサイトとして扱われているため SEO 評価が分散してしまうため、集客等々に悪影響を及ぼします。

.htaccess ファイルを編集し、これから紹介する構文を登録することでアクセス先を統一することができます。

www なし URL へのリダイレクト

http://→https://~にする方法(example.com を自ドメインに変更で OK)

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

www あり URL へのリダイレクト

http://→https://www.~にする方法(example.comを自ドメインに変更でOK)

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

URL の変更を行った場合

example.com→example2.com に URL を変更した場合

RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$ [NC]
RewriteRule ^(.*)$ https://example2.com/$1 [L,R=301]

関連記事