レンタルサーバ iCLUSTA で .htaccess を使って常時 SSL 対応する場合、設定にちょっと注意が必要なのじゃ。
へえ、そうなんですねー。教えてください!
以下、iCLUSTA で常時 SSL 設定を行う方法についてご紹介します。
.htaccessで常時SSL対応する設定
一般的なレンタルサーバーで、http://example.com〜
にアクセスされたら https://example.com/〜
にリダイレクトさせたい場合、.htaccess ファイルに次のように設定を記述する方法があります。
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
iCLUSTAで.htaccessの常時SSL対応する設定
ところが、iCLUSTA のサーバーで前述の設定を行うと、「このページは動作しません。」というページが一瞬表示されてからリダイレクトされる、という異常動作をするようになってしまいます。
実は下記ページに記載されているように、iCLUSTA の仕様で RewriteCond %{HTTPS} off
という記述がサポートされていないため、このようなエラーが起きてしまいます。
そこで、.htaccess ファイルに次のような設定を記述します。
RewriteEngine on
RewriteCond %{ENV:HTTPS} !^on$
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
そうすると、期待通りのリダイレクトが行われるようになりますので、お試しください。