wwwの有無を統一し、SSLに対応する為の方法ですが、今回ご紹介する方法でエックスサーバーとmixhostで試して両方とも正常に機能しました。サーバーによって若干設定が違いますが、なるべく汎用性のある記載方法にしておりますので、一度お試しください。

  1. 「.htaccess」で正規化
  2. 「Search Console」で正規化
  3. リダイレクトの確認

1.「.htaccess」で正規化

wwwありで統一

<IfModule mod_rewrite.c>
RewriteEngine on

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

# wwwありに統一
RewriteCond %{HTTP_HOST} ^sample\.com
RewriteRule ^(.*)$ https://www.sample.com/$1 [R=301,L]

</IfModule>

wwwなしで統一

<IfModule mod_rewrite.c>
RewriteEngine On

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

# wwwなしに統一
RewriteCond %{HTTP_HOST} ^www\.sample\.com$
RewriteRule ^(.*)$ https://sample.com/$1 [R=301,L]
</IfModule>

2. 「Search Console」で正規化

Search Consoleにて該当するサイトの「サイト設定」をクリックしてください。 Search Console1

下記の画面で、wwwありとなしのどちらかを選択してください。 Search Console2

リダイレクトの確認

下記のサイトでリダイレクトが正しく行われているかチェックしてください。

このサイトは設定が正しかったら下記のURLにリダイレクトされます。
https://www.rentalserver-labo.com

下記のURLを入力してみました。
redirect

すると、2回リダイレクトされて指定したURLになりました。
redirect

最後に

mixhostでは上記の設定がサーバー上で設定する事が可能です。
ただ、次回サーバーを移動する場合に設定を忘れる恐れがあるので、あえて.htaccessに記載し、 どのサーバーになってもすぐに設定できるようにしております。

前の記事 次の記事