[メモ]特定のディレクトリをhttpsへ[memo]

連投・・・

仕事で入力系がある箇所を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

ということで、上記のように書くといいらしいです。

スポンサーリンク