前言

网上一搜,千篇一律,都是设置某个目录强制访问https,跟我的需求刚好相反。

需求

我是需要给主站设置强制https访问,而某个单独的目录仍然使用http访问。
这样就可以对单独的目录设置二级域名,不然浏览器还是会默认访问子目录的https站点,然而没有二级域名的证书文件,就会导致访问错误

实现

在网站的主目录新建 .htaccess,并填写下面的内容,给主站设置强制https访问

#强制https
RewriteEngine on
RewriteBase /
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]

上面都是废话。下面才是最应该配置的。

让某个子目录不访问https。

在子目录新建.htaccess并填写RewriteEngine Off保存关闭。


参考:
.htaccess mod_rewrite - 如何从 rewrite规则中排除目录?