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

Laravel 9中链接跳转至route('welcome')而非根路径问题求助

Laravel 9路由跳转异常:route()函数被当作字符串传递导致错误路径

问题重现

在Laravel 9项目中:

  • web.php里定义了命名为welcome的根路由
  • 通过AppServiceProvider向导航组件传递菜单数据时,href字段赋值为字符串"route('welcome')"
  • 视图循环渲染链接后,点击Home链接会跳转到http://127.0.0.1:8000/route('welcome'),而非预期的根路径http://127.0.0.1:8000/
  • 已执行php artisan route:clear、php artisan cache:clear、php artisan view:clear命令,问题未解决,此前功能曾正常运行1-2小时

问题根源

传递菜单数据时,将route('welcome')作为字符串字面量传递,而非调用Laravel的路由辅助函数生成实际URL,导致视图直接输出该字符串,没有触发路由解析逻辑。

解决方案

修改AppServiceProvider中传递菜单数据的代码,把字符串形式的"route('welcome')"替换为实际调用route()函数:

错误代码

// 错误:传递的是字符串,不会触发路由解析
$menuItems = [
    ['text' => 'Home', 'href' => "route('welcome')"],
    // 其他菜单项...
];

正确代码

// 正确:调用route()函数生成真实URL
$menuItems = [
    ['text' => 'Home', 'href' => route('welcome')],
    // 其他菜单项...
];

修改后,视图渲染时会直接使用解析后的根路径,点击链接即可正常跳转至预期地址。

内容的提问来源于stack exchange,提问作者Nel.naji

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 02:15:41