iCLUSTAで.htaccessにhttpsリダイレクトを設定しても動かない時の解決方法

私はGMOのサーバーには何度もひどい目にあってきたので、新規では絶対に契約しないことにしています。…が、残念ながら過去に契約したまま使っているホームページもいくつか残っています。

データセンター内の様子(サーバールーム)

某日、その中の一つのサイトがSSL通信に対応したいとのことで作業を行ったところ、.htaccessにhttpsリダイレクト設定をしても動かない現象に遭遇。またかGMO。

ということで、iCLUSTAで.htaccessにhttpsリダイレクトを設定する時の記述方法を紹介します。

関連記事:ブログのレンタルサーバーを移転しました。ホスティングの評判はきちんと調べるべきと実感!

iCLUSTAで.htaccessリダイレクト設定する方法

.htaccessでサイト全体をhttpsリダイレクトを設定する場合、以下のように記述するのが一般的だと思います。

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

ところが、iCLUSTAのサーバーにこれを置いても全く機能しない。
GMOのレンタルサーバーに長年苦しめられた私はすぐにピンときました。

「これは記述が間違っているのではなくサーバーの仕様だ」と。

調べてみたところビンゴでした。

利用可能ディレクティブに関して

以下の記述はiCLUSTAサーバーにて非対応となっております。
下記の記載があった場合にはリダイレクトが有効になりませんのでご注意ください。

RewriteCond %{HTTPS} off

LINK:.htaccessやHTMLなどでのリダイレクト設定方法

はいはい。GMOGMO。

ということで以下のように記述したところ上手く動くようになりました。

RewriteEngine on
RewriteCond %{ENV:HTTPS} !^on$
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

iCLUSTAを利用している方はお気を付けください。