こんにちは、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化はこれからのサイト制作において必須になる対策となりますので、制作する際に参考にしていただければ幸いです。

この記事を書いた人

Ryohei

Webエンジニア / ブロガー

福岡のWeb制作会社に務めるWebエンジニアです。エンジニア歴は10年程で、好きな言語はPHPとJavaScriptです。本サイトは私がインプットしたWebに関する知識を整理し、共有することを目的に2015年から運営しています。Webに関するご相談があれば気軽にお問い合わせください。