.htaccess将旧域重定向到新域,同时尊重HTTPS
我知道这个问题以前一定是有问题的,但我无法找到针对我的问题的特定答案。我有多个指针域设置指向一个品牌领域。我用(以下domain.com注象征着品牌的域)重定向HTTP:.htaccess将旧域重定向到新域,同时尊重HTTPS
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
如果有人可以提供一点点洞察,我会非常感激。
这里试试看。这应该适用于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]
谢谢我会测试这个,让你知道它是如何去。 – user3128461 2015-04-01 22:03:08
这会将所有http请求从该点重定向到主域。但是,如果URL使用https协议,则不会重定向。而是维护以前的指针域URL。是否有机会阻止https的重定向? – user3128461 2015-04-02 11:25:59
据称以前回答的问题与我所要求的不同。 – user3128461 2015-04-01 22:01:45