連投・・・
仕事で入力系がある箇所をhttpsにし、それ以外をhttpとしたいという感じになったので、調べた・・・
結構な数のファイルがあるので、対象のページへのリンクをhttpsにしたりhttpにするというのは、ちょっとアフォな感じだったので、mod_rewriteを使用する方向で。
htdocs直下の.htaccessに以下のように記述
<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{SERVER_PORT} 443 #httpsでアクセスがある場合にhttpへリダイレクト RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [R,L] </IfModule>
httpsにしたいディレクトリの.htaccessには以下のように記述
<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{SERVER_PORT} 80 #httpでアクセスがあった場合httpsへリダイレクト RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L] </IfModule>
ただし、共通で使用するファイルなどがある場合(たとえば、cssやjs、画像ファイル)、そのディレクトリの.htaccessは以下のように記述すると、どちらからのアクセスであってもhtdos直下で設定した.htaccessに影響されないようになる。
<IfModule mod_rewrite.c> RewriteEngine off </IfModule>
これを設定しないと、httpsでアクセスしているページでの読み込みでセキュリティエラーになる。chromeだとファイルがよみこまれないようなるなど・・・IEだとアクセスする度にセキュリティが~といわれる・・・orz
ということで、上記のように書くといいらしいです。