WordPress创建自定义REST API路由访问返回404错误如何解决
WordPress自定义REST API路由404问题解决方案
- 第一步:刷新重写规则
进入WordPress后台→【设置】→【固定链接】,无需修改任何配置,直接点击【保存更改】按钮,触发重写规则刷新,90%的自定义路由404问题都可以通过该操作解决。 - 第二步:校验REST API根路径可用性
先访问根路由地址http://fictional-university.local/wp-json/,如果该地址返回404,说明站点伪静态配置异常:- Apache环境需确认已开启
mod_rewrite扩展,且站点根目录存在WordPress自动生成的.htaccess文件 - Nginx环境需在站点配置中添加WordPress官方伪静态规则
- Apache环境需确认已开启
- 第三步:检查代码放置位置与写法
代码必须放在当前已激活主题的functions.php文件,或者自定义插件的主文件中,同时确保代码中没有HTML转义字符,你示例代码中的>是转义后的错误写法,需替换为原生PHP的=>,修正后的参考代码如下:add_action('rest_api_init', 'universityRegisterSearch'); function universityRegisterSearch() { register_rest_route('university/v1', 'search', array( 'methods' => WP_REST_SERVER::READABLE, 'callback' => 'universitySearchResults' )); } function universitySearchResults() { return 'Congratulations, you created a route.'; } - 第四步:冲突排查
暂时禁用所有第三方插件,切换到WordPress官方默认主题(如Twenty Twenty-Four)后再次测试,排除插件或主题的路由注册冲突。
内容的提问来源于stack exchange,提问作者Alexander Atuh
相关产品推荐
相关产品推荐

