**-Routes-**
Route::get('/{parameter}', 'myController@show');
**-Controller-**
public function show($parameter)
{
return view($parameter)->with('parameter', $parameter);
}
我尝试使用带参数的路由,因此我可以防止链接导致的过多创建路由。但问题是,如果找不到路线,404.blade.php就没有出现。
查看[a]未找到。
答案 0 :(得分:2)
您可以检查视图是否存在,如果不存在,请手动发送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中阅读更多内容。