将所有流量重定向到SSL,但某些域除外

时间:2015-01-15 05:55:22

标签: .htaccess mod-rewrite redirect ssl

我们目前正在使用以下代码将流量重定向到SSL。

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.duplika.com/$1 [R=301,L]

问题是像www.duplika.net或www.duplika.com.br这样的托管域名也被重定向到https://www.duplika.com

有没有办法重定向流量,除了来自这个域的流量?

在查看this thread后,我尝试了以下内容但没有成功:

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteCond %{REQUEST_URI} ^br.*$
RewriteCond %{REQUEST_URI} ^net.*$
RewriteRule ^(.*)$ https://www.duplika.com/$1 [R=301,L]

1 个答案:

答案 0 :(得分:4)

您需要在%{HTTP_HOST}上匹配以过滤掉域名

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteCond %{HTTP_HOST} !\.(net|br)$ [NC]
RewriteRule ^(.*)$ https://www.duplika.com/$1 [R=301,L]

以上示例测试在重定向之前域不以.net.br结尾。您可能需要根据不希望重定向的所有域更改模式。

相关问题