【发布时间】:2015-08-15 22:41:12
【问题描述】:
我想在 Laravel 5 中显示 404 页面,同时 MethodNotAllowedHttpException 抛出。
有人可以在这方面帮助我吗?
【问题讨论】:
我想在 Laravel 5 中显示 404 页面,同时 MethodNotAllowedHttpException 抛出。
有人可以在这方面帮助我吗?
【问题讨论】:
将此添加到app/Exceptions/Handler.php:
public function render($request, Exception $e)
{
if ($e instanceof MethodNotAllowedHttpException)
{
abort(404);
}
return parent::render($request, $e);
}
然后编辑resource/views/errors/404.blade.php 以个性化页面。
【讨论】:
use \Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException
简单:您只需在 resources/views/errors/404.blade.php 创建一个模板。
如果您愿意,可以为其他 HTTP 状态代码创建视图,例如用于禁止异常等的 403.blade.php。
【讨论】:
我正在开发 Laravel 5.2,here 给出的答案对我有用。
需要修改app/Exceptions/Handler.php中的render方法。
public function render($request, Exception $e)
{
if ($e instanceof \Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException)
{
return response(view('errors.404'), 404);
}
return parent::render($request, $e);
}
abort(404) 对我不起作用。看起来这个方法在 Laravel 5 中被删除了。
【讨论】:
这是一个 405 错误,最简单的方法是在 resources/views/errors/405.blade.php. 中创建一个新视图。
如果您需要对显示的内容进行精细控制,则必须使用 Handler.php 来修改返回的内容。
【讨论】: