Laravel静态页面路由异常:访问About页面出现404错误求助
解决Laravel静态About页面的路由问题
我来帮你搞定这个路由报错的问题,咱们先捋清楚根源:你用了Route::resource来注册tasks的路由,但这个资源路由只会生成Laravel默认的7个资源方法对应的路由(index、create、store、show、edit、update、destroy),你在TaskController里自定义的about方法并没有被自动包含进去,所以访问的时候就会出现页面找不到的错误。
接下来咱们一步步修改:
1. 显式注册About页面的路由
打开/routes/web.php,在已有的资源路由后面,添加一条专门指向about方法的GET路由,最好给它起个名字方便后续调用:
Route::resource('tasks', 'TaskController'); // 新增这条路由 Route::get('tasks/about', 'TaskController@about')->name('tasks.about');
2. 优化导航链接的写法
不要用硬编码的路径,改用Laravel的route()辅助函数来生成链接,这样后续如果路由结构变化,不用手动改每个链接:
修改/resources/views/layout/partials/nav.blade.php里的链接:
<li><a href="{{ route('tasks.about') }}">About</a></li>
3. 验证路由是否生效
可以在终端里运行这个命令,查看所有已注册的路由,确认tasks/about这条路由已经存在:
php artisan route:list
做完这几步之后,再访问About页面应该就能正常显示了。另外提醒一下,用route()辅助函数生成链接是Laravel的最佳实践,能避免很多硬编码路径带来的问题~
内容的提问来源于stack exchange,提问作者Rakesh
相关产品推荐
相关产品推荐

