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

WordPress全站混合内容错误求助:HTTPS页面请求不安全样式表

解决WordPress全站混合内容(Mixed Content)错误的方案

我之前也踩过这个坑,折腾了好一会儿才搞定,给你几个亲测有效的解决思路:

1. 先修正WordPress核心URL设置

这是最常见的根源——数据库里的站点地址还是HTTP,导致系统生成的资源链接都是HTTP。

  • 如果还能进入wp-admin:打开「设置」→「常规」,把「WordPress地址(URL)」和「站点地址(URL)」都改成https://somesite.com,保存即可。
  • 如果进不了后台:用phpMyAdmin登录数据库,找到wp_options表(前缀可能不是wp_,看你自己的设置),修改siteurl和home这两条记录的option_value,改成HTTPS开头的域名。

2. 批量替换数据库里的HTTP链接

主题、插件或者文章内容里可能硬编码了HTTP链接,需要批量替换:

  • 执行SQL语句替换文章内容里的链接(记得替换成你的域名和表前缀):
UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://somesite.com', 'https://somesite.com');
  • 再替换自定义字段里的链接:
UPDATE wp_postmeta SET meta_value = REPLACE(meta_value, 'http://somesite.com', 'https://somesite.com');

注意:操作数据库前一定要先备份!

3. 强制全站HTTPS跳转

在网站根目录的.htaccess文件里添加以下规则,强制所有HTTP请求跳转到HTTPS:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

另外,在wp-config.php文件里添加一行代码,强制后台使用HTTPS:

define('FORCE_SSL_ADMIN', true);

4. 检查主题和插件的资源引用

有些主题或插件可能硬编码了HTTP的资源路径,比如在主题的functions.php里加载样式/脚本时用了http://:

  • 把这类代码里的http://改成https://,或者更稳妥的协议相对URL//(浏览器会自动匹配当前页面的协议)。
  • 推荐用WordPress自带的函数来获取资源路径,比如get_template_directory_uri()、get_stylesheet_directory_uri(),避免硬编码域名。

5. 清理所有缓存

最后别忘了清理缓存——包括WordPress的缓存插件、服务器缓存、CDN缓存,不然旧的HTTP资源链接可能还会被加载出来,导致问题反复。

问题根源解释

你遇到的Mixed Content错误,是因为页面通过HTTPS加载,但页面内请求了HTTP协议的资源(比如那个样式表http://somesite.com/?ver=1.11.4),浏览器为了安全会阻止这类不安全的资源加载,所以核心就是把所有HTTP的资源引用都替换成HTTPS。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:43:25