从站点上的特定文件夹中删除HTTPS

时间:2018-07-27 14:33:33

标签: .htaccess http ssl https

我的客户问我是否可以删除并强制在网站上与其他服务器上的另一个Web应用程序链接的特定文件夹上的“ http”。我们最近添加了一个SSL证书,它似乎曾经与该文件夹建立的所有链接都引起了问题。

因此,现在,整个站点都处于HTTPS模式。但是,整个站点中只有1个文件夹必须为“ HTTP”。整个站点的其余部分应保持HTTPS。

该文件夹称为“邮件”。

我尝试过:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} !^/mailing
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

但是它什么也没做。

在HTACCESS文件的顶部也有以下代码块:

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^(.*)$ https://www.MYWEBSITE.ca/$1 [R,L]

我试图注释掉这部分,只将第一段代码放在那儿,但是什么也没有。 是的,我清除了缓存并重新启动了浏览器进行测试。

有什么想法吗? 谢谢!

1 个答案:

答案 0 :(得分:1)

在您的.htaccess顶部中添加以下2条规则:

RewriteEngine On

$ for http except mailing force https://
RewriteCond %{HTTPS} off
RewriteCond %{THE_REQUEST} !\s/+mailing[/?\s] [NC]
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]

$ for https mailing force http://
RewriteCond %{HTTPS} on
RewriteCond %{THE_REQUEST} \s/+mailing[/?\s] [NC]
RewriteRule ^ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]