iCLUSTAサーバで.htaccessを使って常時SSL設定する方法

先生

レンタルサーバ 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]

そうすると、期待通りのリダイレクトが行われるようになりますので、お試しください。

参考URL