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

标签 .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]

最佳答案

您需要在 %{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 结尾。您可能需要根据您不希望被重定向的所有域来更改模式。

关于.htaccess - 将所有流量重定向到 SSL,某些域除外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27957529/

相关文章:

html - .htaccess 配置所以当我点击一个文件时它会下载它而不是查看内容

zend-framework - URL 编码的参数破坏了默认的 Zend 重写规则

基于环境变量的 Apache VirtualHost 有条件

python - 在 python 中使用 Popen 输入重定向

redirect - JSF - 从 @PostConstruct 重定向后保留 Faces 消息

php - 如何保存扩展名为 .php 或 .html 的 PHP 文件?

php - 安全转义 .htaccess mod_rewrite 正则表达式中的句点/点 (.) 字符

php - 尝试在 codeigniter 中获取 Assets CSS 时出现 404 错误?

php - mod_rewrite {QUERY_STRING}

asp.net-mvc - asp.net MVC Url.Content() CDN 重定向