如何将所有流量重定向到https但特定文件夹?

时间:2017-09-05 14:00:22

标签: .htaccess redirect

这就是我现在正在使用的将所有流量重定向到https:

sudo service apache2 restart

我想拥有此配置但排除一个特定文件夹。我这样做的原因是我在当前的主机帐户上安装了一个附加域,而主域安装了SSL证书,我最近添加的那个没有。

添加插件域会在主域的根文件夹中创建一个文件夹,因为我通过htaccess配置重定向所有流量,所以它还会尝试访问新插件域的https版本。

3 个答案:

答案 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]

只需替换为您要排除的文件夹的名称。