如何对除adon域的父目录中的一些目录之外的所有目录强制执行https

时间:2014-09-30 13:02:55

标签: apache .htaccess http https

我有一个public_html,我希望强制执行https但不包含此文件夹中的某些目录,因为这些文件夹是父目录,其中包含未安装SSL的其他域的文件。

我用它来强制执行整个public_html的https

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

但我想排除一些目录,以下内容无效。

RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} ^site2 [NC]
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

感谢。

1 个答案:

答案 0 :(得分:1)

可能最简单的方法是将您的规则建立在请求所针对的域上。

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} yourSecure.domain  [NC,OR]
RewriteCond %{HTTP_HOST} yourOtherSecure.domain  [NC]
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]