.htaccessでSSLリダイレクト設定
- 2018/11/15
- htaccess

以前.htaccessを用いてのBasic認証についてこちらの記事で触れましたが、
Basic認証以外で.htaccessを書く機会がありましたので、ご紹介します。
1,SSL化に伴う強制リダイレクト設定
数ヶ月前からGoogleがSSL化されていないサイトに対して警告を出すようになりました。
それに伴って「Let’s Encrypt」のような無料証明書も出てきて、SSL化されたされたサイトが増えていってます。
ですが、サイトによってはこの強制リダイレクト設定をしなくてはいけません。
例えばユーザーがhttpの状態でブックマークをしていて、
リダイレクト設定されていないSSL化されたサイトへつないだ場合、
接続が暗号化されないので、SSL化されていない状態でサイトを閲覧することになります。
なので、.htaccessに以下を加えます。
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTPS} !=on [NC] RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] </IfModule>
これはhttp状態のURLを対象として、URLの書き換えを行う処理です。
4行目の[R=301,L]で半永久的にリダイレクトされます。
URLをhttpに変えてアクセスしたときに自動でhttpsに切り替われば完了です。
レンタルサーバーは管理画面からボタンを押していくだけなので簡単ですが、
VPS等の場合は、こちらの設定は必須になってくるかと思います。
機会がありましたら、試してみてください。