这就是我现在正在使用的将所有流量重定向到https:
sudo service apache2 restart
我想拥有此配置但排除一个特定文件夹。我这样做的原因是我在当前的主机帐户上安装了一个附加域,而主域安装了SSL证书,我最近添加的那个没有。
添加插件域会在主域的根文件夹中创建一个文件夹,因为我通过htaccess配置重定向所有流量,所以它还会尝试访问新插件域的https版本。
答案 0 :(得分:0)
您可以使用RewriteCond
排除文件夹:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{THE_REQUEST} !/someFolder/ [NC]
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
答案 1 :(得分:0)
您需要在其中添加条件,因此请改用:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} !^/foldername
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
在测试之前清除缓存。
答案 2 :(得分:0)
如果我正确地阅读了您的问题,您希望将访问您网站的所有流量重定向到https://,除了单个文件夹,对吗?
如果是这种情况,这应该有效:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} !^/<folder-name>/
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
只需替换为您要排除的文件夹的名称。