所有部署指南 部署

WordPress SSL 故障排查:修复每个 HTTPS 问题

WordPress 和 HTTPS 通常配合顺畅——但当出问题时,错误可能令人困惑。本指南涵盖每个常见的 WordPress SSL 问题及其修复方法。

如需初始 SSL 设置,参见我们的 WordPress SSL 安装指南

ERR_TOO_MANY_REDIRECTS(重定向循环)

WordPress SSL 的第一大问题。 浏览器显示”该页面无法正常工作——将你重定向了太多次”。

原因 1:在代理后面(Cloudflare、负载均衡器)

代理终结 SSL 并向 WordPress 转发 HTTP。WordPress 看到 HTTP 就重定向到 HTTPS。代理再次转发 HTTP。无限循环。

修复 — 在 wp-config.php 中添加(在 /* That's all, stop editing! */ 之前):

if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') {
    $_SERVER['HTTPS'] = 'on';
}

如果使用 Cloudflare: 同时将 SSL 模式设为”Full”或”Full (Strict)“——绝不要用”Flexible”。

原因 2:重定向冲突

你的 .htaccess 重定向到 HTTPS,同时 WordPress 插件(如 Really Simple SSL)也在重定向,同时你的服务器配置也在重定向。三重重定向 = 循环。

修复: 只保留一个重定向来源。推荐:.htaccess 重定向,禁用插件重定向。

原因 3:WordPress URL 不匹配

设置 → 常规 显示 http:// 但你的服务器强制 HTTPS。

修复 — 通过 wp-config.php 更新:

define('WP_HOME', 'https://yourdomain.com');
define('WP_SITEURL', 'https://yourdomain.com');

混合内容警告(锁头图标损坏/缺失)

HTTPS 正常工作但锁头图标显示警告,或某些资源加载不了。

原因: 页面引用了 http:// URL 的图片、脚本或 CSS——通常是迁移前存储在数据库中的。

快速修复:Really Simple SSL 插件

安装并激活 Really Simple SSL——它动态改写 http:// URL 并添加 upgrade-insecure-requests CSP 头。

永久修复:数据库搜索替换

# WP-CLI (recommended)
wp search-replace 'http://yourdomain.com' 'https://yourdomain.com' --all-tables --precise

# Dry run first to see what changes
wp search-replace 'http://yourdomain.com' 'https://yourdomain.com' --all-tables --dry-run

或使用 Better Search Replace 插件获取图形界面。

同时检查:

  • 主题文件(header.phpfooter.php)中硬编码的 http:// URL
  • 小工具内容(文本小工具、自定义 HTML)
  • 自定义 CSS(外观自定义器中)
  • 插件设置(社交分享图片、Logo URL)

完整混合内容指南 →

启用 HTTPS 后白屏 / 500 错误

原因 1:.htaccess 冲突

HTTPS 重定向规则与 WordPress 的固定链接规则冲突。

修复: 重置 .htaccess

# Rename the current one
mv .htaccess .htaccess.backup

# WordPress regenerates it
# Go to Settings → Permalinks → Save (no changes needed)

然后在顶部重新添加 HTTPS 重定向:

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

原因 2:插件冲突

安全或缓存插件可能与 HTTPS 更改冲突。

修复: 通过 FTP 禁用所有插件:

# Rename the plugins directory
mv wp-content/plugins wp-content/plugins.bak

如果网站恢复正常,重命名回来并逐个启用插件找出冲突。

启用 HTTPS 后无法登录 wp-admin

原因:Cookie 域名不匹配

http:// 设置的旧 Cookie 在 https:// 上不工作。

修复:

// Add to wp-config.php
define('FORCE_SSL_ADMIN', true);
define('COOKIE_DOMAIN', 'yourdomain.com');

然后清除浏览器中该域名的 Cookie,或尝试隐身窗口。

SSL 证书已安装但 WordPress 仍显示 HTTP

原因:WordPress 不知道 HTTPS

证书在服务器上,但 WordPress 的 URL 设置仍然是 http://

修复: 更新两个 URL:

  1. 如果你能访问 wp-admin: 设置 → 常规 → 将两个 URL 改为 https://
  2. 如果你无法访问 wp-admin:wp-config.php 中添加:
    define('WP_HOME', 'https://yourdomain.com');
    define('WP_SITEURL', 'https://yourdomain.com');
  3. 如果 wp-config.php 也不行: 直接更新数据库:
    UPDATE wp_options SET option_value = 'https://yourdomain.com' WHERE option_name IN ('siteurl', 'home');

Elementor / 页面构建器在 HTTPS 上布局损坏

页面构建器在 post meta 中存储绝对 URL。迁移到 HTTPS 后运行:

wp search-replace 'http://yourdomain.com' 'https://yourdomain.com' --all-tables

对于 Elementor,还要前往 Elementor → Tools → Replace URL 并从 http:// 更新到 https://

WooCommerce 结账在 HTTPS 上不工作

原因 1:混合内容阻止支付脚本

Stripe、PayPal 和其他支付网关要求 HTTPS 并拒绝通过混合内容加载。

修复: 运行数据库搜索替换(上文),检查 WooCommerce → Settings → Payments 中的 http:// 引用。

原因 2:强制 SSL 结账设置

WooCommerce 有一个”Force secure checkout”选项,可能与全站 HTTPS 冲突。

修复: 如果你整个网站都是 HTTPS,你不需要这个选项。在 WooCommerce → Settings → Advanced → Page setup 中取消勾选它。

常见问题

需要 Really Simple SSL 插件吗?

它让 HTTP→HTTPS 过渡更容易(特别是混合内容),但不是必需的。如果你运行了数据库搜索替换并在 .htaccess 中设置了重定向,就不需要该插件。插件在每次页面加载时都有少量开销,因为它动态改写 URL。

应该在安装证书之前还是之后更改 WordPress URL?

之后。 先安装证书并验证 HTTPS 正常工作。然后更新 WordPress URL。如果在证书准备好之前更新 URL,WordPress 尝试提供 HTTPS 但做不到——你可能会把自己锁在外面。

缓存插件提供旧的 HTTP 版本

迁移后清除所有缓存:

  • WP Super Cache / W3 Total Cache / LiteSpeed Cache: 从插件设置中清除缓存
  • Cloudflare: Purge Everything
  • 服务端缓存(Varnish、Nginx cache): 清除缓存或重启服务

几个月前迁移了但 Google 仍然显示 HTTP URL

在 Google Search Console 中提交你的 HTTPS 站点地图。检查所有页面的 <link rel="canonical"> 标签指向 https://。Google 可能需要数周时间重新索引——301 重定向有帮助但不是即时的。

相关文章

部署 2026-05-08
如何在 WordPress 上安装 SSL
在 WordPress 上启用 HTTPS:安装免费 SSL 证书、更新 WordPress URL、修复混合内容并配置插件。适用于任何主机。
部署 2026-05-07
如何修复混合内容警告
混合内容是指 HTTPS 页面通过 HTTP 加载资源。了解如何查找和修复混合内容错误以获得完整的锁头图标。
部署 2026-05-07
如何将 HTTP 重定向到 HTTPS
使用服务端重定向强制所有流量使用 HTTPS。Nginx、Apache 和 .htaccess 的 301 永久重定向配置示例。
部署 2026-05-08
如何修复「您的连接不是私密连接」错误
「您的连接不是私密连接」错误表示 SSL 证书有问题。了解 8 种最常见的原因及修复方法 - 适用于访客和网站管理员。
在浏览器中获取免费 SSL 证书
无需安装,无需账号。私钥始终留在你的设备上。
获取证书