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

Laravel 访问departments前缀下/{id}路由报404 Not Found如何解决?

问题排查与修复方案

  • 控制器参数匹配错误
    你的路由定义中声明了路径参数{id},但当前控制器showDepartment方法未接收该参数,部分Laravel版本会因为参数不匹配抛出404异常,先修改控制器方法:
    public function showDepartment($id) {
          return '';
    }
    
  • 路由缓存未更新
    如果你之前执行过路由缓存命令,新增/修改的路由不会自动生效,需要执行命令清除路由缓存:
    php artisan route:clear
    
  • 路由顺序冲突
    检查路由文件中departments前缀的路由上方,是否存在优先级更高的匹配规则,比如通配路由、相同前缀的其他路由排在前面,会导致当前路由无法被匹配到触发404。你可以执行以下命令查看当前生效的路由列表,确认目标路由存在:
    php artisan route:list
    
  • 隐式模型绑定干扰
    如果之前该路由用过{department}作为参数名开启过隐式模型绑定,缓存未清的情况下会自动触发模型查找逻辑,即使参数已经改成{id}也可能因为模型查找失败抛出404,清缓存后即可恢复正常。

修改完成后直接访问/departments/[任意id值]即可触发对应控制器方法,不会再返回404。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 03:18:01