0

強制 SSL モードを必要とし、残りは非 SSL に強制する領域を持つサイトがあります。

私は次のルールから始めました:

<VirtualHost *:80>
  RewriteEngine On
  RewriteCond %{HTTPS} !=on
  RewriteRule ^/tourism/bookings/(.*) https://%{SERVER_NAME}/tourism/bookings/$1 [R,L]
  RewriteRule ^/?bookings/(.*) https://%{SERVER_NAME}/bookings/$1 [R,L]
</VirtualHost>

<VirtualHost *:443>
  RewriteEngine On
  RewriteCond %{REQUEST_URI} !^/bookings
  RewriteCond %{REQUEST_URI} !^/tourism/bookings
  RewriteRule (.*) http://%{SERVER_NAME}$1 [L,R,QSA]
</VirtualHost>

さて、上記は機能します-しかし、SSLモードは明らかに /includes/* を解釈して非SSLに強制します...上記の2つを除くすべてのコンテンツを強制できるようにするために上記を調整します(ただし、次のような依存関係はあります)現在のプロトコルに従うために JS / CSS が含まれています)?

前もって感謝します

4

1 に答える 1

0

それ以外のものを除外したい場合は/bookings/tourism/bookings条件で除外するだけです。

RewriteCond %{HTTPS} !=onまた、その仮想ホストは常に非 HTTPS になるため、条件は必要ありません。

<VirtualHost *:80>
  RewriteEngine On
  RewriteCond %{REQUEST_URI} !\.(css|js)$ [NC]
  RewriteRule ^/tourism/bookings/(.*) https://%{SERVER_NAME}/tourism/bookings/$1 [R,L]
  RewriteCond %{REQUEST_URI} !\.(css|js)$ [NC]
  RewriteRule ^/?bookings/(.*) https://%{SERVER_NAME}/bookings/$1 [R,L]
</VirtualHost>

<VirtualHost *:443>
  RewriteEngine On
  RewriteCond %{REQUEST_URI} !^/bookings
  RewriteCond %{REQUEST_URI} !^/tourism/bookings
  RewriteCond %{REQUEST_URI} !\.(css|js)$ [NC]
  RewriteRule (.*) http://%{SERVER_NAME}$1 [L,R,QSA]
</VirtualHost>
于 2013-04-16T17:51:49.120 に答える