HTTPS重定向失效问题求助:GoDaddy 301跳转仅HTTP生效,HTTPS未跳转
HTTPS重定向失效问题求助:GoDaddy 301跳转仅HTTP生效,HTTPS未跳转
看起来你遇到了GoDaddy后台301跳转只在HTTP生效、HTTPS失效的棘手问题,别担心,我来帮你搞定这个.htaccess的配置!
问题根源分析
GoDaddy自带的域名跳转设置有时候会存在覆盖不全的情况,尤其是HTTPS协议的请求可能没被正确匹配到跳转规则,导致Google爬取的HTTPS链接无法跳转到新域名。这时候手动配置.htaccess就能精准覆盖所有协议的请求。
具体.htaccess配置方案
在旧域名的网站根目录(通常是public_html文件夹)中找到或创建.htaccess文件,添加以下规则:
# 开启URL重写引擎 RewriteEngine On # 强制HTTPS请求跳转到新域名的HTTPS地址(301永久重定向) RewriteCond %{HTTPS} on RewriteRule ^(.*)$ https://paradisemykonos.com/$1 [R=301,L] # 强制HTTP请求跳转到新域名的HTTPS地址(双重保障,覆盖GoDaddy设置可能遗漏的情况) RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://paradisemykonos.com/$1 [R=301,L]
规则解释
RewriteEngine On:开启Apache的URL重写功能,这是所有重定向规则的基础。- 第一条规则:匹配所有HTTPS协议的请求,将任何路径的内容(
^(.*)$)重定向到新域名对应的路径,[R=301,L]表示301永久重定向,并且这是最后一条规则(避免后续规则干扰)。 - 第二条规则:同理处理HTTP协议的请求,确保不管用户访问的是HTTP还是HTTPS版本的旧域名,都会跳转到新域名的HTTPS地址,彻底解决跳转不全的问题。
注意事项
- 保存
.htaccess后,一定要清除浏览器缓存再测试,因为301重定向会被浏览器缓存,旧缓存可能让你误以为规则没生效。 - 可以用在线的HTTP状态码检测工具,检查
https://www.paradise-greece.com/的跳转状态,确认返回的是301,并且目标地址是你的新域名。 - 如果配置后还是没生效,建议检查GoDaddy的SSL证书是否正常生效——如果HTTPS站点本身无法正常加载(比如证书错误),请求可能还没走到
.htaccess就被拦截了,这时候需要先确保SSL配置没问题。
备注:内容来源于stack exchange,提问作者Paschalis Vlahos
相关产品推荐
相关产品推荐

