这是我现在正在使用的将所有流量重定向到https的方法:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
我想拥有此配置,但排除了一个特定的文件夹。我这样做的原因是我在当前托管帐户上安装了一个附加域,而主要域已安装了SSL证书,但我最近添加的域名却没有。
添加插件域在主要域的根文件夹内部创建一个文件夹,并且由于我通过HTACCESS配置将所有流量重定向,因此它也尝试访问新的附加域的HTTPS版本。
<</p> <</p> <</p>您可以使用RewriteCond
:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{THE_REQUEST} !/someFolder/ [NC]
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
您需要在其中添加条件,因此请使用此条件:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} !^/foldername
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
清除您的缓存测试此。
如果我正确阅读了您的问题,您想将所有将您的网站的流量重定向到https://,除了单个文件夹,对吗?
如果是这样,则应该有效:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} !^/<folder-name>/
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
只需替换为要排除的文件夹的名称。