特定のディレクトリのみhttpsにリダイレクトを行う
SSLのためのリダイレクトをフォームディレクトリのみにかけるなどに指定する。
動きとしては、「指定ディレクトリに対してはhttpsへリダイレクト」「指定ディレクトリ以外はhttpへリダイレクト」となる。
※特定のディレクトリのみをリダイレクトすると、そのページから移動した場合にもhttps://の接続のままになる為、別途http://に戻す記述が必要になる。
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / # フォームのみhttp://→https:// リダイレクト # https://をはずす(指定以外) RewriteCond %{HTTPS} on RewriteCond %{REQUEST_URI} !(^/inquiry/.*$) RewriteCond %{REQUEST_FILENAME} !\.(gif|jpg|png|jpeg|css|js)$ [NC] RewriteRule /.*$ http://%{HTTP_HOST}%{REQUEST_URI} [R,L] # https://をかける(指定に対して) RewriteCond %{HTTPS} off RewriteCond %{REQUEST_URI} ^/inquiry/.*$ RewriteCond %{REQUEST_FILENAME} !\.(gif|jpg|png|jpeg|css|js)$ [NC] RewriteRule /.*$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L] </IfModule>
—————————–
[Rewriteの標準設定]
RewriteEngine On ・・・ Rewrite機能自体のオン・オフを制御。
RewriteBase ・・・ Rewrite処理のベースになるURL
[ディレクトリ指定]
RewriteCond %{HTTPS} on ・・・ httpsでアクセスされた場合
RewriteCond %{HTTPS} off ・・・ httpでアクセスされた場合
RewriteCond %{REQUEST_FILENAME} !\.(gif|jpg|png|jpeg|css|js)$ [NC] ・・・ 指定ファイルはリダイレクトから処理から除外する
参考サイト
-
前の記事
テーブルのボーダーが表示されない場合の対応 2016.12.14
-
次の記事
ChromeブラウザのDNSキャッシュを削除する 2016.12.15