部署在AWS的WordPress(WooCommerce)站点切换域名后出现302无法访问
域名切换为delyvr.in后WordPress持续302跳转的排查修正步骤
基础判断
当前环境用公网IP访问时所有功能正常,说明Apache服务、.htaccess重写规则、目录权限、PHP运行环境本身无故障,观测到的持续302完全来自WordPress核心的站点地址校验逻辑,并非Web服务器配置错误。
逐点排查修正
- 验证域名解析连通性
- 确认
delyvr.in的公网A记录已正确指向EC2实例公网IP3.143.13.125,没有错配到旧服务器、没有无效CNAME跳转 - 检查AWS安全组、子网NACL入站规则,确认80端口对公网开放,无网络层拦截导致请求无法到达Apache进程
- 确认
- 从数据库层面修正残留URL配置
域名状态下无法正常登录wp-admin,仅靠后台修改参数无效,需直接操作数据库:- 连接MySQL,定位WordPress对应数据库,更新
wp_options表中siteurl和home字段值为http://delyvr.in,末尾不要带多余斜杠 - 清空表中所有存储旧IP地址的配置项,重点清理缓存插件、安全插件记录的静态URL、强制跳转规则
- 连接MySQL,定位WordPress对应数据库,更新
- 检查Apache虚拟主机匹配优先级
执行apache2ctl -S输出所有虚拟主机的匹配顺序,确认ServerName delyvr.in对应的配置没有被IP绑定的默认虚拟主机覆盖,避免请求匹配到错误主机配置后被引导回IP站点的跳转逻辑 - 清理双端缓存残留
- 清空浏览器内和旧IP站点相关的wp-admin会话Cookie,避免携带旧会话凭证请求时被自动重定向回IP地址
- 删除
wp-content/cache目录下所有历史静态缓存文件,这类文件硬编码的旧IP地址会触发循环302跳转
核心逻辑:WordPress核心会自动校验当前请求的Host头和数据库存储的站点URL是否一致,不一致时就会自动生成302重定向跳转至配置的正确地址。如果域名解析不通、Host头传递异常,就会出现日志中观测到的持续302、页面无法正常加载的现象。
内容的提问来源于stack exchange,提问作者Rajive Pai
相关产品推荐
相关产品推荐

