单个文件夹的SSL异常

时间:2017-03-30 09:59:19

标签: apache .htaccess ssl ssl-certificate prestashop

我想仅为一个文件夹删除SSL

我的网址是https://www.example.com 我想删除我的交互式PDF https://www.example.com/catalog2017的https,因为https无法与我的交互式PDF一起使用。

我尝试使用.htaccess但无效。

1 个答案:

答案 0 :(得分:3)

您可以在.htaccess文件中使用以下规则。这样做首先检查HTTP是否未打开,如果没有,则它会将所有内容转发到HTTP,但目录catalog2017除外。第二个规则检查HTTP是否打开,如果是,则它会将catalog2017重定向回HTTP。

RewriteEngine On

RewriteCond %{HTTP:X-Forwarded-SSL} !on
RewriteCond %{REQUEST_URI} !^\/(catalog2017)
RewriteRule (.*) https://%{HTTP_HOST}/$1 [L,R=301]

RewriteCond %{HTTP:X-Forwarded-SSL} =on
RewriteCond %{REQUEST_URI} ^\/(catalog2017)
RewriteRule (.*) http://%{HTTP_HOST}/$1 [L,R=301]

确保在测试之前清除缓存。如果您对上述规则有疑问,那么您也可以尝试以下方法:

RewriteEngine On
RewriteBase /

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

RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} ^/catalog2017
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [R=301,L]