路由参数,未找到页面不会导致404
问题描述:
**-Routes-**
Route::get('/{parameter}', '[email protected]');
**-Controller-**
public function show($parameter)
{
return view($parameter)->with('parameter', $parameter);
}
我试图使用带参数的路由,所以我可以防止太多的创建路由,这是链接导致的地方。但问题是,如果没有找到路由,404.blade.php没有出现。路由参数,未找到页面不会导致404
查看[a]找不到。
答
你可以检查如果视图存在,如果没有,发送手动404响应:
public function show($parameter)
{
// If the view doesn't exist return a 404 response
if (! view()->exists($parameter)) {
abort(404);
}
return view($parameter)->with('parameter', $parameter);
}
如果你喜欢,你还可以创建自定义视图中投放的任何404响应。您应该将其放置在resources/views/errors/404.blade.php
中,并且Laravel将确保它在404 HTTP错误触发时显示它。您可以在Laravel Docs中阅读更多内容。
+0
谢谢!它完美地工作。 –
已找到路径,但未找到'a',您需要在视图中重新创建该视图。 –