WordPress 6.0无法新建文章 报rest_cookie_invalid_nonce错误
问题现象
- 计划发布文章时发现站点异常,无法在WordPress后台新增文章,更换浏览器、使用无痕模式访问问题依旧
- 保存草稿时返回403错误,接口返回内容如下:
{"code":"rest_cookie_invalid_nonce","message":"Cookie验证失败","data":{"status":403}}
- 部分操作返回链接过期提示,接口返回内容如下:
{"code":"wp_die","message":"链接已过期,请重试。","data":{"status":403},"additional_errors":[]}
- 首次登录后台时提示Cookie已被禁用
排查解决步骤
1. 优先排查缓存干扰(最高发原因)
- 清空全链路缓存:包括主机面板缓存、CDN缓存、本地安装的缓存插件生成的所有缓存,重点检查是否误开启了后台路径(wp-admin)的页面缓存,动态后台页面被缓存会直接导致nonce值过期、校验失败。如果使用了带缓存功能的CDN服务,临时开启开发模式排除CDN影响。
- 临时禁用所有缓存、安全类插件:包括页面缓存插件、静态优化插件、防火墙/安全防护插件,这类插件很容易篡改请求头、拦截REST API请求或者修改Cookie属性,导致校验失败,禁用后逐一开启插件测试定位具体冲突项。
2. 检查站点地址配置一致性
- 进入后台「设置-常规」页面,核对**WordPress地址(URL)和站点地址(URL)**两项配置,两个地址的协议(http/https)、域名格式必须完全一致,不允许出现一个带www、一个不带www,或者一个为http、一个为https的情况,跨域配置会直接导致Cookie无法正常写入,触发Cookie禁用报错。
- 如果当前无法正常进入后台,直接编辑站点根目录下的
wp-config.php文件,添加以下两行配置强制指定站点地址(替换为站点实际域名):
define('WP_HOME','https://你的站点实际域名'); define('WP_SITEURL','https://你的站点实际域名');
3. 检查服务器配置规则
- 核对站点伪静态规则:Apache环境检查根目录
.htaccess文件,Nginx环境检查站点对应的伪静态配置,确认没有误拦截/wp-json/路径的REST API请求,也没有给Cookie设置错误的作用域、Secure属性——比如HTTPS站点未开启Cookie的Secure属性,或者HTTP站点错误开启了Secure属性,都会导致Cookie无法正常存储。 - 临时切换PHP版本测试:如果当前使用PHP8.0及以上版本,临时切换到PHP7.4版本测试,部分未兼容WP6.0的老旧插件会在高版本PHP环境下出现nonce生成逻辑异常的问题。
4. 修复核心文件损坏
- 进入后台「更新」页面,点击重新安装当前版本的WordPress核心文件,覆盖可能损坏的核心代码,排除核心文件缺失、篡改导致的校验逻辑异常,操作前提前备份站点数据库和文件。
内容的提问来源于stack exchange,提问作者Ricardo Martins
相关产品推荐
相关产品推荐

