apacheのmod_rewriteでSSL通信を強制する。
ログインが必要なサイトを作っていると、このページはSSLを強制したい、みたいのがあるじゃないですか。 いや、うちは全く関係ないんですけれどね。 そういうサイトをいじらせてもらう機会があったので、メモ。
mod_rewriteについては apache2のhttpd.confでURLの正規化をやってみたメモ。 なんかもどうぞ。
全部のURLで転送したい場合、httpd.confか.htaccessに
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]
こんな感じで書けばおっけー。
お察しの通り、特定のURL(ここでは/login.html)だけなら
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^/login.html$ https://example.com/login.html [R=301,L]
となります。 普通の転送と同じ感じやね。
最近apacheネタばっかな気がするなぁ・・・。