常時SSLをhtaccessで実現しようと思った時
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
こんな感じで書くと思います。
そして大体これで上手く行きます。
しかし、サーバーによってはこれのせいでリダイレクトループにハマるのです。
そういったサーバーでは
RewriteCond %{HTTPS} off
この記述が使えないのです。
この場合、
RewriteEngine On
RewriteCond %{ENV:HTTPS} !^on$
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
という書き方が正解なんだそうです。
色々なサーバーで対応出来るよう、知見を深めておきましょうね。