【发布时间】:2016-09-17 19:19:19
【问题描述】:
我知道这已在其他帖子(https://stackoverflow.com/a/25196859/730378 和 https://stackoverflow.com/a/20915595/730378)中得到解答,但我都尝试过,但都没有为我工作。
使用下面的 htaccess 代码可以将根域和别名重定向到 https,但子域会继续重定向并使用 https 作为子域,这是我不想要的。
####
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} !=subdomain.rootdomain.ca [NC,OR]
RewriteCond %{HTTP_HOST} ^(www.)?rootdomain.ca$ [NC,OR]
RewriteCond %{HTTP_HOST} ^(www.)?rootdomain.biz$ [NC,OR]
RewriteCond %{HTTP_HOST} ^(www.)?rootdomain.co$ [NC,OR]
RewriteCond %{HTTP_HOST} ^(www.)?domainalias.biz$ [NC,OR]
RewriteCond %{HTTP_HOST} ^(www.)?domainalias.ca$ [NC]
RewriteRule (.*) https://rootdomain.ca/$1 [R=301,L]
【问题讨论】:
-
此规则应按原样工作。子域很可能是从早期使用
R=301的实验重定向的。 从不用R=301进行测试! -
正如@PanamaJack 已经提到的,您甚至不需要第一个
RewriteCond。
标签: apache .htaccess redirect https