laravel自定義錯誤頁面

修改app/Exceptions/Handler.php的render方法

public function render($request, Exception $e)
{
    if ($e instanceof ModelNotFoundException) {
        $e = new NotFoundHttpException($e->getMessage(), $e);
     }

    if($e instanceof \Symfony\Component\Debug\Exception\FatalErrorException && !config('app.debug')) {//加上app.debug防止dubug關閉模式下暴露重要信息
    return response()->view('errors.default', [], 500);
    }
    return parent::render($request, $e);
}

或者

public function render($request, Exception $e)
{
    if ($e instanceof HttpException) {
        $code = $e->getStatusCode();
        if (view()->exists('errors.' . $code)) {
            $message  = $e->getMessage();
            return response()->view('errors.' . $e->getStatusCode(), ['message'=>$message], $e->getStatusCode());
            }
        }
    return parent::render($request, $e);
}

修改視圖文件

根據錯誤碼命名文件,例如404錯誤碼:
resources/views/errors/404.blade.php

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章