我想在Laravel 5中显示404页面而MethodNotAllowedHttpException
会抛出。
在这方面,有人可以帮助我吗?
答案 0 :(得分:9)
将此添加到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
以个性化页面。
答案 1 :(得分:3)
简单:您只需在 resources / views / errors / 404.blade.php 创建模板。
如果您有这种倾向,可以为其他HTTP状态代码创建视图,例如 403.blade.php 用于禁止例外等等。
答案 2 :(得分:1)
我正在使用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中删除了此方法。
答案 3 :(得分:0)
这是一个405错误,最简单的方法是在resources/views/errors/405.blade.php.
中创建一个新视图。
如果您需要对显示的内容进行精确控制,那么您将必须使用Handler.php来修改返回的内容。