【问题标题】:Routing parameter, page not found doesn't cause 404路由参数,找不到页面不会导致 404
【发布时间】:2015-07-19 15:17:28
【问题描述】:
**-Routes-**
Route::get('/{parameter}', 'myController@show');


**-Controller-**
public function show($parameter)
{
    return view($parameter)->with('parameter', $parameter);
}

我尝试使用带参数的路由,这样可以防止链接指向的过多创建路由。但问题是,如果找不到路由,404.blade.php 就没有出现。

未找到视图 [a]。

【问题讨论】:

  • 找到路线但未找到视图a,您需要在视图文件夹中创建该视图。

标签: php laravel routes


【解决方案1】:

您可以检查视图是否存在,如果不存在,请手动发送 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阅读更多内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-20
    • 2013-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多