在Laravel中所有的异常都由Handler类处理,该类包含两个方法:report
和render
,其中render方法将异常渲染到http响应中。
将app/Exceptions/Handler类中的render方法改为如下代码:
public function render($request, Exception $exception)
{
//若debug为关闭模式下才显示错误页面,否则打印错误信息
if(!config('app.debug')){
if($exception instanceof \Symfony\Component\Debug\Exception\FatalErrorException) {
//$exception instanceof \Symfony\Component\Debug\Exception\FatalErrorException 判断不了500错误码
//500的进这里,中间件判断未登录跳转到登录页也是跳转进这
return response()->view('error.500', [], 500);
}else{
//404只会通过这里
return response()->view('error.'.$exception->getStatusCode(), [],$exception->getStatusCode());
}
}
return parent::render($request, $exception);
}
然后在resources/views/error/下面新建错误页面,命名为{errorCode}.balde.php,其中{errorCode}为错误码。
然后访问一个不存在的路由,显示为你的404页面即为成功!
本文链接:https://www.23thi.com/392.html
除非特殊声明,本站文章均为原创,转载请务必保留本文链接