apache - 如何为所有目录强制执行 https,除了 adon 域的父目录中的几个目录

标签 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]

谢谢。

最佳答案

可能最简单的方法是将您的规则基于请求所针对的域

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]

关于apache - 如何为所有目录强制执行 https,除了 adon 域的父目录中的几个目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26121580/

相关文章:

apache - 为 SEO 和漂亮的 URL 重写 map

php - Apache URL 重写功能不正常

apache - 如何修改此 .htaccess 规则以便它可以适应两种情况?

javascript - 从浏览器加载文件,无需网络服务器

php - 区分一些使用同一个真实 ip 地址的用户

PHP SQL Server 2008 错误定位服务器/实例指定 [xFFFFFFFF]

regex - 使用 .htaccess 限制外部访问我的内部网

php - Textarea 换行符无法正常工作

apache - 如何防止两个链接显示与.htaccess 相同的内容?

http - 我可以使用HTTP2服务器推送机制来更新已经发送的资源吗?