Laravel新手求助:Blade模板中HTML跳转至命名路由的正确方法
解决Blade模板中使用命名路由跳转至根路径的问题
嘿,作为刚接触Laravel的新手,遇到这种路由跳转的小问题太正常啦!我来帮你理清楚怎么用命名路由正确跳转到根路径~
首先,咱们得先确认命名路由的定义是否正确,这是跳转路径准确的核心。在routes/web.php文件里,根路径(/)的命名路由应该这么定义:
Route::get('/', function () { return view('welcome'); })->name('home'); // 这里的`name('home')`就是给根路由起的命名标识
如果你的根路由没加->name()、命名写错了,甚至把路由路径写成了/index,那用route('XXXX')自然会生成错误的路径。
接下来,在Blade模板里使用命名路由跳转的正确写法分两种常见场景:
1. HTML链接跳转(a标签)
直接在href属性里调用route()辅助函数,传入你的命名路由名称:
<a href="{{ route('home') }}">回到首页</a>
这样点击链接后就会正确跳转到/,而不是/index。
2. 控制器中重定向跳转
如果是在控制器逻辑里需要跳转到根路由,写法是:
return redirect()->route('home');
排查错误的小技巧
如果你还是得到/index的路径,建议在终端执行这个命令,查看所有已定义的路由详情:
php artisan route:list
在输出结果里找到你的命名路由,检查它对应的URI是不是/——这大概率就是问题所在。
内容的提问来源于stack exchange,提问作者Kate Cebotari
相关产品推荐
相关产品推荐

