因此,我的客户端将他们的旧域更改为一个新域,该域上有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_HOST
或HTTPS
。如果你想重定向到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重写规则。
您的两个规则可以合并为一个,并且由于o
,olddomain.com$
是不正确的正则表达式
试试这个规则:
RewriteEngine On
RewriteCond %{HTTP_HOST} olddomain.com$ [NC,OR]
RewriteCond %{HTTPS} off
RewriteRule ^ https://www.newdomain.com%{REQUEST_URI} [L,NE,R=301]