【htaccess】httpからhttpsにリダイレクトする【常時SSL化】
※本ページのリンクにはプロモーションが含まれています。
こんにちは、Ryohei(@ityryohei)です!
Chromeのアップデートにより、すべてのHTTPサイトに対する警告が導入されました。もしユーザーが訪れたウェブサイトがSSLに対応していない場合、「保護されていません」という警告がアドレスバーの横に表示されるようになります。「保護されていない = つまり安全ではない」という解釈になりますので、そのような表示をされては離脱するユーザーが増えるのは目に見えていますね。
そのため、これからはウェブサイトの通信の暗号化をマストにしましょう、という流れができつつあります。現在はChromeやFirefoxだけかもしれないですが、遅かれ早かれすべての主要なブラウザで似たような警告が出るようになると思われます。これからウェブサイトを制作する場合はSSL対応にするようにしておきましょう。
何より、Google先生が常時SSL化を推奨していますし、SEOの観点からも有利になる可能性がありますので、得られるメリットは多いはずですよ!
本記事の内容
サイトの常時SSL化は、ざっくりと下記の流れで行います。
- SSL証明書発行・設定
- ソースをSSL対応に修正する
- httpsの状態でサイトにアクセスして表示を確認
- htaccessでhttp→httpsにリダイレクト
本記事では上記の流れにある一番最後の項目、htaccessを使ってサイトへのアクセスをhttp→httpsにリダイレクトする方法をご紹介したいと思います。
単純なリダイレクト
http→httpsにリダイレクトする方法です。リクエストのあったURIのプロトコルのみを変更します。
htaccess
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
結果
http://www.example.co.jp ↓ https://www.example.co.jp
www無にリダイレクト
www無でhttpからhttpsにリダイレクトする方法です。www有でアクセスがあった場合に、www無にリダイレクトします。www無に統一したい場合はこちらを利用します。
htaccess
RewriteEngine on RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://example.co.jp/$1 [R=301,L]
結果
http://www.example.co.jp ↓ https://example.co.jp
www有にリダイレクト
www有でhttpからhttpsにリダイレクトする方法です。www無でアクセスがあった場合に、www有にリダイレクトします。www有に統一したい場合はこちらを利用します。
htaccess
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] RewriteCond %{HTTP_HOST} !^www\. [NC] RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
結果
http://example.co.jp ↓ https://www.example.co.jp
最後に
以上、httpからhttpsにリダイレクトしてサイトを常時SSL化する方法のご紹介でした!
常時SSL化はこれからのサイト制作において必須になる対策となりますので、制作する際に参考にしていただければ幸いです。