旧HTTPS域需要指向新域



因此,我的客户端将他们的旧域更改为一个新域,该域上有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]

没有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的情况下进行测试,请参阅以下答案调试提示。有关详细信息,请参阅htaccess重写规则。

您的两个规则可以合并为一个,并且由于oolddomain.com$是不正确的正则表达式

试试这个规则:

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

最新更新