如何在https站点中的特定文件夹上强制http

时间:2017-11-24 06:05:11

标签: .htaccess http ssl mod-rewrite https

我的网站有https

但是我需要特定的文件夹应该是http。

我们如何实现它?

e.g。 我的网站是

https://www.mywebsite.com

我希望folder1/subfolder1被强制为http://

e.g。 http://www.mywebsite.com/folder1/subfolder1

我在网上搜索...但是最大搜索显示如何强制httphttps

我尝试.htaccess如下:

 try 1.
RewriteRule ^(/folder1/subfolder1)($|/) - [L]
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}


 try 2.
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} !^/folder1/subfolder1
RewriteRule ^ http://%{HTTP_HOST}%{REQUEST_URI}  [R=301,L]

但它不起作用..

1 个答案:

答案 0 :(得分:0)

您可以在站点根目录中使用这些规则.htaccess:

RewriteEngine On

# force https on everything except /folder1/subfolder1
RewriteCond %{THE_REQUEST} !\s/+folder1/subfolder1[/?\s] [NC]
RewriteCond %{HTTPS} !on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,NE,R=301]

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

确保清除浏览器缓存或使用新浏览器进行测试。