この記事は更新から2年以上経過しています。情報が古い可能性がありますのでご注意下さい。
「httpsに対応しているがhttpでアクセスされるかもしれない」「wwwありのサブドメイン無しで運営しているが、wwwを付けずにアクセスされるかもしれない」といった場合を想定して、意図したURLにHTTPSでリダイレクト(自動転送)させたい時の汎用的な.htaccessです。
www有りの場合
# httpでのアクセスを、httpsにリダイレクト
RewriteCond %{HTTPS} off
RewriteRule ^(.*$) https://www.example.com/$1 [R=301,L]
# httpsからのアクセスでwww無しの場合、www有りにリダイレクト
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^example\.com$
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]
www無しの場合
# httpでのアクセスを、httpsにリダイレクト
RewriteCond %{HTTPS} off
RewriteRule ^(.*$) https://example.com/$1 [R=301,L]
# httpsからのアクセスでwww有りの場合、www無しにリダイレクト
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]