通过.htaceess将http://example.com重定向到https://www.dummy.com/

时间:2016-04-05 20:06:39

标签: .htaccess redirect mod-rewrite url-rewriting rewrite

我的客户希望更改其域名,但希望保持其Google排名。为此,他们已将两个域名指向同一个IP,但我们遇到的问题是,如果您通过旧域访问该站点,则会收到安全证书警告,并且该页面只会加载旧域名

我想做的是检测某人是否通过旧域名访问该网站并将其重写到新域名。例如,如果他们访问example.com/some-page.htm的位置,则会重写为https://www.dummy.com/some-page.htm

我发现这个代码片段声称可以做到这一点,但它只会让网站失效:

RewriteCond %{HTTP_HOST} !^example.com$ [NC]
RewriteRule ^(.*)$ https://www.dummy.com/$1 [R=301,L]

这是一个WordPress网站,所以我使用正常的WordPress重写规则,我正在使用HTML5 Boiler Plate .htacess启用http> https redriects,非www> www重定向,强制HTTP严格传输安全,如果有任何不同之处。

1 个答案:

答案 0 :(得分:1)

您需要将条件更改为:

RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$ [NC]
RewriteRule ^ https://www.dummy.com%{REQUEST_URI} [NE,R=301,L]

但请注意,如果您访问https://exampl.com并且证书是dummy.com,那么SSL证书警告仍然存在,因为在调用mod_rewrite之前进行SSL握手以重定向到新站点