You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WordPress网站HTTPS重定向失效问题及正确重定向脚本咨询

解决GoDaddy主机上的全局HTTPS重定向问题

看起来你的WP Fastest Cache配置里的重定向逻辑搞反了——原脚本是当HTTPS已经开启时触发规则,但我们需要的是强制所有HTTP请求跳转到HTTPS。加上GoDaddy共享主机可能用反向代理的特殊情况,直接检测%{HTTPS}可能不准确,这也是Security Headers IO检测失败的核心原因之一。

下面是针对GoDaddy主机的两种可靠解决方案,优先推荐第二种(适配反向代理场景):

方案1:基础版(适用于直接支持HTTPS检测的环境)

先备份你的.htaccess文件,然后把这段规则放在所有其他规则(包括WP Fastest Cache的规则)最顶部——重定向规则必须优先执行,否则缓存插件的规则会先拦截请求:

# BEGIN Force HTTPS Redirect
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
# 拦截所有HTTP请求,跳转到对应HTTPS地址
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
# 可选:强制所有请求使用www前缀(不需要的话删除下面两行)
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]
</IfModule>
# END Force HTTPS Redirect

方案2:GoDaddy反向代理适配版(更可靠)

GoDaddy的共享主机很多用反向代理架构,此时%{HTTPS}变量会一直显示off,因为真正的SSL终止在代理层。这种情况下需要检测X-Forwarded-Proto头来判断是否是HTTPS请求:

# BEGIN Force HTTPS Redirect (GoDaddy Reverse Proxy Compatible)
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
# 通过反向代理的请求头检测HTTP请求,强制跳转HTTPS
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
# 可选:强制所有请求使用www前缀(不需要的话删除下面两行)
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]
</IfModule>
# END Force HTTPS Redirect (GoDaddy Reverse Proxy Compatible)

关键注意事项:

  • 规则顺序很重要:一定要把重定向规则放在WP Fastest Cache规则的前面,否则缓存插件的规则会先处理请求,导致重定向不生效。
  • 重定向类型:R=301是永久重定向,适合正式环境(利于SEO);如果还在测试,先用R=302临时重定向,确认没问题再改成301。
  • 缓存清理:修改.htaccess后,务必清除WP Fastest Cache的所有缓存,同时用Ctrl+F5强制刷新浏览器缓存来测试。
  • 测试验证:直接访问http://www.somebank.com(不带https),确认自动跳转到https://版本;再用Security Headers IO重新检测,应该就能通过HTTPS重定向的检查了。

内容的提问来源于stack exchange,提问作者Sandah Aung

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:30:27