旧的HTTPS域需要指向新域

时间:2013-11-19 17:28:06

标签: .htaccess redirect

因此,我的客户将其旧域名更改为具有SSL证书的新域名。旧域被编入索引https://olddomain.com,即使我在Godaddy中更改了转发到新域,它也不会加载! 我正在尝试使用htaccess文件重定向,但我没有取得任何成功。所以, 如果您输入,https://olddomain.com不会重定向 olddomain.com它重定向。

有谁可以告诉我需要做些什么才能让https://olddomain.com重定向?仅供参考:我没有旧域的主机设置。

我的htaccess文件就是这样:

 RewriteEngine On 
 RewriteCond %{SERVER_PORT} 80 
 RewriteRule ^(.*)$ https://www.newdomain.com/$1 [R,L]

 RewriteCond %{HTTPS_HOST} \olddomain.com$
 RewriteRule ^(.*)$  https://www.newdomain.com$1 [R=301,L]

2 个答案:

答案 0 :(得分:0)

由于\olddomain.com$

,您的2条规则可以合并为一条\o是不正确的正则表达式

尝试此规则:

 RewriteEngine On 

 RewriteCond %{HTTP_HOST} olddomain\.com$ [NC,OR]
 RewriteCond %{HTTPS} off
 RewriteRule ^ https://www.newdomain.com%{REQUEST_URI} [L,NE,R=301]

答案 1 :(得分:0)

没有HTTPS_HOST这样的内容,请参阅RewriteCond了解可用变量列表。

您有HTTP_HOSTHTTPS可用。如果您想重定向到https://newdomain.com,只需检查olddomain.com

即可
RewriteCond %{HTTP_HOST} olddomain.com$
RewriteRule ^(.*)$  https://www.newdomain.com/$1 [R,L]

不要忘记斜杠,因为在.htaccess上下文中,删除了前导斜杠。否则,http://olddomain.com/page.html将被重定向到https://www.newdomain.compage.html。不像你期望的那样精确。

永远不要在启用301的情况下进行测试,请参阅此回答Tips for debugging .htaccess rewrite rules了解详细信息。

相关问题