首页 > 解决方案 > 从站点上的特定文件夹中删除 HTTPS

问题描述

我的客户问我是否可以在站点上的特定文件夹上删除并强制“http”,该文件夹与另一台服务器上的另一个 Web 应用程序链接。我们最近添加了一个 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]

我试着注释掉这部分,只把第一块代码放在那里,但仍然没有。是的,我清除了缓存并重新启动浏览器进行测试。

有任何想法吗?谢谢!

标签: .htaccesshttpsslhttps

解决方案


在 .htaccess 顶部添加这两条规则:

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]

推荐阅读