wwwの有無を統一し、SSLに対応する為の方法
wwwの有無を統一し、SSLに対応する為の方法ですが、今回ご紹介する方法でエックスサーバーとmixhostで試して両方とも正常に機能しました。サーバーによって若干設定が違いますが、なるべく汎用性のある記載方法にしておりますので、一度お試しください。
- 「.htaccess」で正規化
- 「Search Console」で正規化
- リダイレクトの確認
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にて該当するサイトの「サイト設定」をクリックしてください。
下記の画面で、wwwありとなしのどちらかを選択してください。
リダイレクトの確認
下記のサイトでリダイレクトが正しく行われているかチェックしてください。
このサイトは設定が正しかったら下記のURLにリダイレクトされます。
https://www.rentalserver-labo.com
下記のURLを入力してみました。
すると、2回リダイレクトされて指定したURLになりました。
最後に
mixhostでは上記の設定がサーバー上で設定する事が可能です。
ただ、次回サーバーを移動する場合に設定を忘れる恐れがあるので、あえて.htaccessに記載し、
どのサーバーになってもすぐに設定できるようにしております。