レンタルサーバなどでWebサイトを運用していて、一つの場所にファイルをアップロードすると、http:// と https:// の両方のURLでアクセスできる場合があります。
このような場合に、機密情報・個人情報などが確実に暗号化されるように、http:// ではアクセスできないようにする設定をご紹介します。具体的には、Webサーバ Apache の mod_rewrite 機能を使って、http:// でアクセスされたらhttps:// に転送(リダイレクト)します。
対応環境
この方法を使うには、お使いのWebサーバが以下の条件すべてに当てはまる事を確認して下さい。
- https:// 通信(暗号化通信、SSL、TLS)に対応している
- Webサーバが Apache
- mod_rewrite が使える
- ユーザによる .htaccess の設定が許可されている
http から https への強制転送の設定方法
暗号化通信(https://)で表示したいディレクトリに、以下の内容で .htaccess ファイルを設置して下さい。既存の .htaccess ファイルがある場合は、ファイル内に以下の内容を追記して下さい。
赤字部分は、設置先ディレクトリのサーバルートからのパスに変更して下さい(最後のスラッシュを忘れずに)。青字部分は、そのディレクトリに https でアクセスする場合のURLに変更して下さい。
コピー
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /secure-dir/
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://www.example.com/secure-dir/$1 [R=302,NE,L]
</IfModule>