路由参数,找不到页面不会导致404
Routing parameter, page not found doesn't cause 404
**-Routes-**
Route::get('/{parameter}', 'myController@show');
**-Controller-**
public function show($parameter)
{
return view($parameter)->with('parameter', $parameter);
}
我尝试使用带参数的路由,这样我可以防止在 link 通向的地方创建太多路由。但问题是,如果找不到路由,404.blade.php 就不会出现。
View [a] not found.
您可以检查视图是否存在,如果不存在,请手动发送 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.
中阅读更多内容
**-Routes-**
Route::get('/{parameter}', 'myController@show');
**-Controller-**
public function show($parameter)
{
return view($parameter)->with('parameter', $parameter);
}
我尝试使用带参数的路由,这样我可以防止在 link 通向的地方创建太多路由。但问题是,如果找不到路由,404.blade.php 就不会出现。
View [a] not found.
您可以检查视图是否存在,如果不存在,请手动发送 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.