先日とある案件で、wordpressサイト構築で、SSL化をした際に、URLが「http://○○」から「https://○○」という形に変わるので、サイト全体をhttpsへリダイレクトする設定を.htaccessで行いました。
その方法をメモしておきたいと思います。
SSL(暗号化通信)の必要性等については、こちらをお読み下さい。
.htaccessに記述を追加
下記の2行を、.htaccessに書き加えると設定完了です。
RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
記述場所が分からず、つまづいた場合
僕も記述場所でつまずきました。下記のように、wordpressの一般的な.htaccessの記述に下記のような書き方をすると、上手く動作しました。
これで、全てのページがhttps://○○から始まるドメインで表示されるようになります。
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L] # BEGIN WordPressRewriteEngine On RewriteCond %{HTTP:Authorization} ^(.*) RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1] RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] # END WordPress SetEnvIf Request_URI ".*" AllowCountry
その他補足
上記の設定の前に、サーバ管理画面等でSSLの申し込み・設定を完了し、wordpressの管理画面上のアドレス欄も「https://○○」に変更する必要がありますので、お忘れなく。