我知道此问题之前一定是问过,但我无法找到问题的具体答案。我有多个指针域设置指向品牌域。我通过使用重定向http(注意下面的domain.com表示品牌域名):
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.domain\.com
RewriteRule (.*) http://www.domain.com/$1 [R=301,L]
但是,这不会重定向https。我试过了:
RewriteEngine on
RewriteCond %{HTTPS} on
RewriteCond %{HTTPS_HOST} !^www\.domain\.com
RewriteRule (.*) https://www.domain.com/$1 [R=301,L]
RewriteCond %{HTTP_HOST} !^www\.domain\.com
RewriteRule (.*) http://www.domain.com/$1 [R=301,L]
但是这会导致重定向循环。本质上我想要做的是维护协议(http或https)并从旧域重定向到新域,同时保留请求的其余部分。
所以如果有人试图查找:
http://www.pointerdomain.com/dingos.html
结果将是:
http://www.domain.com/dingos.html
并要求:
https://www.pointerdomain.com/flapjacks.html
转发:
https://www.domain.com/flapjacks.html
如果有人能对此提供一点见解,我会非常感激。
答案 0 :(得分:1)
这里试一试。这适用于http
或https
。
RewriteCond %{HTTP_HOST} !^www\.domain\.com [NC]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.domain.com%{REQUEST_URI} [L,R=301]