WordPress使用本地C类IP而非域名的问题求助
WordPress访问异常排查方案
先确认
wp_options表的siteurl和home字段是否完全更新:有些场景下会存在重复的同名选项(比如多站点或残留记录),执行SQL查询全量检查:SELECT * FROM wp_options WHERE option_name IN ('siteurl', 'home');把所有返回的记录值都改成你的公网域名/IP。
检查
wp-config.php文件:如果里面手动定义了WP_SITEURL或WP_HOME常量,会覆盖数据库设置,直接修改这两个值为外网可访问地址:define('WP_SITEURL', 'https://你的公网域名或IP'); define('WP_HOME', 'https://你的公网域名或IP');清浏览器缓存:内网访问时浏览器大概率缓存了旧的本地IP跳转记录,用隐私模式打开试试,或者直接清空对应域名的Cookie和缓存。
查Nginx配置:确认
server_name包含你的公网域名/IP,同时检查/wp-admin相关的location规则,有没有误加IP限制、反向代理错误或者权限拦截,确保wp-admin请求能正常转发到PHP-FPM。排查插件/主题冲突:把
wp-content/plugins重命名为plugins_old,wp-content/themes重命名为themes_old,禁用所有插件和自定义主题后再试wp-admin,排除第三方代码导致的跳转问题。内网DNS/hosts设置:如果内网访问时域名解析到了本地IP,要么调整内网DNS让域名指向公网IP,要么在本地设备的hosts文件里手动映射域名到公网IP。
检查PHP-FPM环境变量:确认PHP配置里没有强制设置
$_SERVER['HTTP_HOST']为本地IP的情况,避免程序获取到错误的站点地址。
内容的提问来源于stack exchange,提问作者zebassprophet
相关产品推荐
相关产品推荐

