You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WordPress保存Gutenberg小工具报错405 无效JSON响应rest_no_route

WordPress区块小工具保存报rest_no_route错误解决方法

该错误核心是小工具专属REST接口匹配失败,由于文章区块保存功能正常,说明WordPress核心REST基础功能、PHP运行环境没有全局性问题,按以下优先级排查即可:

  • 校验核心文件完整性与路由注册状态
    首先访问站点根路径下的/wp-json/地址,在返回的全量路由列表中查找wp/v2/widgets、wp/v2/widget-types两个路由:
    • 如果找不到对应路由:先检查wp-includes/rest-api/endpoints/目录下是否存在class-wp-rest-widgets-controller.php、class-wp-rest-widget-types-controller.php两个核心文件,确认文件属主、权限和同目录下其他核心文件一致(Ubuntu环境标准权限为属主www-data,文件644、目录755),文件缺失或损坏直接从对应WordPress版本的官方安装包解压覆盖即可——手动升级漏传文件、安全规则误删核心文件时,往往只会丢失部分路由控制器,就会出现“部分REST功能正常、部分功能报路由不存在”的现象。
    • 确认没有自定义代码移除小工具路由:临时重命名wp-content/mu-plugins目录排除必装插件影响,检查主题functions.php中是否存在通过rest_endpoints过滤器卸载小工具相关接口的逻辑。
  • 排查Nginx规则冲突
    同服务器部署多个WordPress实例时,Nginx location规则优先级错误是最高发的诱因:
    1. 打开浏览器开发者工具网络面板,定位保存小工具时的失败请求,核对完整请求URL是否和当前站点域名、路径完全匹配,排除子目录站点请求被根目录站点规则拦截、跨站点路由不匹配的问题。
    2. 临时替换为WordPress官方标准Nginx伪静态规则,删除所有自定义的/wp-json路径匹配规则、针对widgets关键词的安全拦截规则,重载Nginx后测试:
      location / {
          try_files $uri $uri/ /index.php?$args;
      }
      location ~ \.php$ {
          include snippets/fastcgi-php.conf;
          fastcgi_pass unix:/run/php/php7.4-fpm.sock;
      }
      
    3. 核对失败请求的请求方法,确认是POST请求,排除WAF/CDN规则篡改请求方法、拦截POST类型REST请求的情况。
  • 数据库异常修复
    如果上述步骤无效,先备份数据库后执行以下操作:
    1. 清空REST接口相关缓存:
      DELETE FROM wp_options WHERE option_name LIKE '_transient_rest_%';
      DELETE FROM wp_options WHERE option_name LIKE '_transient_timeout_rest_%';
      
    2. 检查wp_options表中所有widget_开头的选项值,排查是否有序列化格式损坏的第三方小工具残留数据,临时删除非WordPress默认的widget配置项后测试保存。
  • 基础配置校验
    1. 核对wp-config.php中WP_SITEURL、WP_HOME常量值,和实际访问的站点地址完全一致,排除协议不匹配(http/https)、域名前缀不匹配(带www/不带www)、末尾多余斜杠导致的请求路径错误。
    2. 重启PHP7.4-fpm进程清空OPcache缓存,排除代码缓存未更新导致的路由加载失败问题。

内容的提问来源于stack exchange,提问作者Kip Kniskern

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 04:57:07