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

Redirect all traffic to SSL except some domains

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

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.duplika.com/ [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/ [R=301,L]

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

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

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