⭐ 推荐:社区规则条款 V1.0

安装后配置(伪静态、SSL、管理员账号)

juming
juming 初级会员萌新站长
发布于 2026-10-15 05:34 ·2 浏览 ·3 回复
内容摘要

安装后应按伪静态、SSL、管理员账号的顺序配置:先配伪静态再签发证书并强制HTTPS,最后改管理员账号密码并开启二次验证;顺序颠倒会导致后台登录反复跳回http。

本文转载自 GJ站长论坛,原文地址:https://www.gj0.com/thread-2071.html
转载请注明出处,版权归原作者所有。
他们都看过 1 人浏览过
GJ论坛站长
—/ 5暂无评分
还没有评分,来打第一分吧

全部回复 3

域名注册
域名注册 版主萌新站长 👑黑卡会员 1楼 2026-10-15 05:54

顺序没错,但我会加一个兜底:装 SSL 之前先在 wp-config.php 里写死 WP_HOME / WP_SITEURL,这样万一 HTTPS 配歪了,改一行文件就能回退,不用去数据库里捞。

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

常量优先级高于数据库,写进去之后后台的「站点地址」选项会被锁定,跳转循环基本不会出现。已经踩坑进不去后台了,就注释掉这两行,或者直接改库:

UPDATE wp_options SET option_value = 'https://example.com'
WHERE option_name IN ('home','siteurl');

(记得带表前缀。)

「登录后跳回 http」真正的高发原因其实是反向代理。 宝塔、CDN、Docker 前面的 Nginx 反代场景下,回源是 http,PHP 拿不到 $_SERVER['HTTPS'],于是自己判断「当前不是 HTTPS」→ 跳 http → 又被强制到 https,循环。光改站点地址救不回来,得补上:

proxy_set_header X-Forwarded-Proto $scheme;

或者在 wp-config.php 顶部临时兜一下:

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

HSTS 建议放到最后一步再加,确认全站没有 mixed content(浏览器 F12 看有没有黄色混合内容警告)再上 max-age,否则一个漏网的 http:// 图片就能让整站打不开。

管理员那步补两个细节:别去改 ID=1 那位的用户名,正确做法是新建一个管理员 → 登录验证 → 删掉旧的,避免权限和作者归档错乱;开二次验证之前先把恢复码抄下来、确认绑定邮箱能收信,不然丢手机就是锁死自己。伪静态生效后顺手重新生成 sitemap,Search Console 里也把站点地址更新成 https。

周末
周末 萌新站长 #1821 2楼 2026-10-15 06:16
域名注册:顺序没错,但我会加一个兜底:**装 SSL 之前先在 wp-config.php 里写死 WP_HOME / WP_SITEURL**,这样万一 HTTPS 配…

这几条兜底我基本都同意,反代那条尤其关键——宝塔/CDN 场景下的"登录跳回 http"九成出在这儿,光改站点地址确实救不回来。补几个容易漏的点:

写死 WP_HOME/WP_SITEURL 之后,后台那两个选项会被锁死,同时某些迁移插件、临时换测试域名的操作也会失效,所以迁移或调试完记得放开。另外 SSL 强制这块 WP 自带常量,配合用更省事:

define('FORCE_SSL_ADMIN', true);

反代除了 X-Forwarded-Proto,最好把 proxy_set_header Host $host; 和 X-Real-IP $remote_addr; 一起补上,不然还会出现后台跳错域名、评论 IP 全是 127.0.0.1。还有个隐性问题:X-Forwarded-Proto 是客户端可伪造的头,如果源站 IP 直接暴露,别人塞个 X-Forwarded-Proto: https 就能骗过判断,稳妥做法是源站防火墙只放行 CDN 回源段。

删旧管理员那步要特别注意——删除时一定要勾"将该用户的内容转移给新用户",否则 ID=1 名下的文章会跟着一起没。另外 user_login 本身后台就改不了,能改的只是昵称和 nicename,作者归档错乱多半是改 nicename 引起的。

最后补一句:Search Console 的 https 属性是独立的,不是"更新"而是新建资源重新验证,旧属性保留观察,再用地址更改工具提交迁移。HSTS 建议先从 max-age=300 跑几天,确认无 mixed content 再往一年加。

萝卜特棒
萝卜特棒 正式会员萌新站长 #1856 3楼 2026-10-15 06:21
周末:这几条兜底我基本都同意,反代那条尤其关键——宝塔/CDN 场景下的"登录跳回 http"九成出在这儿,光改站点地址确实救不回来。补几个容易漏的点: 写死 `W…

同意,周末这几条基本就是"配置项之外"最容易翻车的地方,我按实操顺序补几个能直接抄的细节。

迁移场景千万别直接改数据库。 WP_HOME/WP_SITEURL 放开之后改站点地址,如果只是进 phpMyAdmin 里跑 UPDATE wp_options SET option_value=...,序列化过的数据(widgets、页面构建器、主题配置里存着老域名的那些)会直接断链,前台看着正常、点进去一堆 404。稳妥做法是走 WP-CLI:wp search-replace 'http://old.com' 'https://new.com' --all-tables --precise,跑完再 wp cache flush。另外这两个常量写在 wp-config.php 里要放在 /* That's all, stop editing! */ 那一行上面,否则不生效——这个坑比想象中多人踩。

FORCE_SSL_ADMIN 要等 HTTPS 全站确认无误再加。 它跟前面说的常量不一样,一旦证书有问题或者有 mixed content,你连后台都进不去,只能去服务器上改文件救回来。建议顺序是:先让后台能通过 https 正常登录、F12 Console 无报错,再写这行。

只信任 CDN 段这件事可以做成配置化。 与其在防火墙上手写 IP 段,不如用 Nginx 的 set_real_ip_from + real_ip_header X-Forwarded-For 配 geo 模块,只对白名单段做还原,白名单外的请求直接丢弃伪造头。这样 X-Real-IP 才可信,评论 IP 也不会全变成回源节点地址。Cloudflare 用户可以直接上 Authenticated Origin Pulls,比维护 IP 段省心。

删 ID=1 那段再补一句:**先新建管理员、退出、用新账号完整登录一次确认权限正常,再回去删旧账号**,中间别省。Multisite 环境下 ID=1 还是 super admin,删之前记得先在 Network Admin 里转移网络管理员身份。

Search Console 和 HSTS 你都说到了,只提醒一点:HSTS 的 preload 列表加进去容易,移除要等浏览器版本更新、前后可能拖几个月,没到"确定长期不用 http"的地步先别提交 preload,includeSubDomains 同理。

至于 mixed content 排查,最快的办法是浏览器 Console 加一层过滤(搜 Mixed Content),再看 Network 里被 block 的请求域名,比一个个翻主题文件快得多。