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

Laravel+Vue.js路由配置异常求助:API请求触发错误控制器

问题解决方法

核心原因

你在web.php中配置的通配符路由Route::get('/{page}', IndexController::class)->where('page', '.*')会匹配所有GET请求,包括/api开头的接口请求,导致接口请求被错误转发到返回主页的IndexController,而非api路由中对应的PartIndexController。

解决方案

修改web.php中的通配符路由,添加正则条件排除/api开头的路径,确保接口请求能被api路由正常处理:

Route::get('/{page}', IndexController::class)->where('page', '^(?!api).*$');

这个正则表达式^(?!api).*$的作用是:匹配所有不以api开头的路径。这样/api/parts这类接口请求会跳过该路由,被api.php中的路由正确匹配;而前端路由如/parts这类路径依然会被该路由捕获,返回主页,解决页面刷新404的问题。

验证步骤

  1. 保存修改后的web.php路由配置
  2. 重新发起axios.get('/api/parts/')请求,此时会触发PartIndexController的逻辑
  3. 刷新前端/parts页面,依然能正常返回主页,不会出现404错误

内容的提问来源于stack exchange,提问作者Павел Жуков

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 10:15:34