使用wp-env本地开发WordPress时频繁301重定向至localhost:8889求助
解决wp-env启动后localhost:8888 301重定向到8889的问题
1. 锁定wp-env前台端口
wp-env默认前台端口为8888、后台为8889,若端口被占用或容器状态异常,可能导致端口自动切换。尝试强制指定端口启动:
- 先停止并清理现有服务:
npx wp-env stop npx wp-env destroy - 强制绑定前台端口启动:
npx wp-env start --port=8888
2. 重置WordPress站点URL配置
301重定向大概率和WordPress数据库中存储的siteurl、home选项有关,可能是之前端口变动后配置未更新:
- 通过wp-cli直接修改配置:
npx wp-env run cli "wp option update siteurl 'http://localhost:8888'" npx wp-env run cli "wp option update home 'http://localhost:8888'" - 或者直接访问后台端口
localhost:8889,登录后进入设置→常规,将「WordPress地址」和「站点地址」都改为http://localhost:8888,保存后清除浏览器缓存再访问前台。
3. 排查插件与目录映射干扰
你的配置加载了WooCommerce及WooCommerce Payments插件,同时自定义了目录映射,可能存在插件重定向逻辑或目录权限问题:
- 临时注释
wp-env.json中的plugins配置项,仅启动基础WordPress服务,测试是否还会出现重定向。若恢复正常,再逐个添加插件排查问题来源。 - 检查
./WordPress目录下的.htaccess文件,若存在自定义重定向规则,删除或注释后重启服务。
4. 清除浏览器缓存与重定向记录
浏览器会缓存301重定向规则,即使服务端修复,仍可能自动跳转:
- 打开浏览器开发者工具(F12),在「网络」选项卡勾选「禁用缓存」,刷新页面访问
localhost:8888。 - 直接清除当前站点的Cookie和缓存数据后重试。
内容的提问来源于stack exchange,提问作者Andy Paka
相关产品推荐
相关产品推荐

