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

WordPress站点资源请求偶发net::ERR_FAILED及HTTP代替HTTPS错误排查

问题原因
  • 数据库与代码中的HTTP资源残留:WordPress后台仅修改站点地址为HTTPS不会自动替换历史数据里的旧HTTP链接,包括文章内嵌入的资源、附件地址、主题/插件硬编码的静态资源路径,只有触发对应资源加载逻辑时才会暴露HTTP请求问题,这也是你遇到表情脚本HTTP请求、报错资源不固定的核心原因。
  • 浏览器混合内容拦截策略差异:Chrome、Edge对HTTPS页面加载HTTP资源的拦截逻辑比火狐严格,一旦检测到混合内容请求会直接拦截,返回net::ERR_FAILED错误且不会生成响应头,和你观察到的报错特征完全匹配。
  • 多维度缓存残留:即使禁用浏览器缓存,服务器端缓存(WordPress缓存插件、CDN缓存、Web服务器缓存、运营商中间缓存)仍可能残留旧的HTTP版本页面/资源链接,偶发返回给前端导致报错。
  • HTTPS识别配置缺失:如果站点用了反向代理/CDN,WordPress无法正确识别前端请求是HTTPS,就可能生成HTTP的资源链接输出到页面。
解决方案
  • 全局替换数据库HTTP链接
    备份数据库后,使用WordPress搜索替换类插件,将全站所有http://你的实际域名的内容批量替换为https://你的实际域名,覆盖文章、附件、自定义字段等所有数据表内容。
  • 强制HTTPS跳转与HSTS配置
    在站点根目录的.htaccess文件(Apache环境)添加以下规则,强制所有HTTP请求301跳转到HTTPS,同时开启HSTS让浏览器默认用HTTPS请求站点资源:
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTPS} !=on
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
    </IfModule>
    
    Nginx环境可以在站点配置文件中添加对应跳转规则。
  • 补全WordPress HTTPS识别配置
    在站点根目录的wp-config.php文件中添加以下代码,强制WordPress识别HTTPS请求,生成HTTPS的资源链接:
    define('FORCE_SSL_ADMIN', true);
    if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') {
        $_SERVER['HTTPS'] = 'on';
    }
    
  • 清理全链路缓存
    依次清空WordPress缓存插件缓存、CDN节点缓存、Web服务器层面的缓存,彻底清除残留的HTTP版本内容。
  • 排查硬编码资源
    检查当前主题的functions.php、自定义代码段、第三方插件代码,把所有硬编码的HTTP资源地址修改为协议相对路径(格式为//域名/资源路径,自动适配当前页面协议)或者直接替换为HTTPS地址。

内容的提问来源于stack exchange,提问作者FNordtröm

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 23:24:03