에루샤
erusya
Back-end Developer
Web Geek
Anime Otaku
에루샤 프로필 이미지
개발
라라벨 6.x

라라벨 에러 페이지 수정 및 커스터마이징

네이티브하게 웹을 구현한다면 기본적으로 Nginx 에러메시지가 뜨겟지만, 프레임워크를 사용하면 에러페이지도 프레임워크용 에러페이지로 제공된다.

라라벨 프로젝트에서 기본적으로 에러 페이지는 아래와 같이 나타난다.

본문 이미지디폴트 에러 페이지

이 에러페이지는 라라벨 vendor 내부의 미리 정의된 뷰 파일을 이용해 랜더링 된다.

이 에러 페이지를 직접 뜯어고치고 싶다면 해당 에러페이지들을 내 프로젝트의 views에 뜨게해야한다.
이 작업을 위해 먼저 프로젝트 위치에서 아래 터미널 명령을 통해 vendor에 있는 뷰를 꺼내온다.

php artisan vendor:publish --tag=laravel-errorsCopy

이 명령어를 진행하면 views 폴더 아래에 errors 폴더가 새로 생기며 그 안에 여러가지 에러 상황에 대비해 미리 정의된 뷰 파일이 아래와 같이 나타난다.

본문 이미지에러 뷰파일 목록

401~503은 각 http 응답 에러시에 보이는 컨텐츠 코드이며 이 파일들은 상단에 @extends('errors::minimal') 코드를 통해 어떤 레이아웃을 사용할지 정의한다.

예를들어 404 에러시 보이는 404.blade.php의 뷰파일 코드는 아래와 같다.

@extends('errors::minimal')
 
@section('title', __('Not Found'))
@section('code', '404')
@section('message', __('Not Found'))Copy

각 에러에 사용되는 변수인 title, code, message 는 라라벨의 Exception 모델에 의해 처리되서 넘어온다.

결국 에러페이지를 바꾸고 싶다면 각 에러페이지 코드가 적힌 blade 파일을 수정하는게 아니라 그 blade 파일의 layout을 찾아 바꾸면된다.

위의 경우에는 errors::minial 를 확장해 사용하고 있으므로 minial.blade.php 를 열어 적절히 수정해주면된다.

본문 이미지스타일좀 수정해본 에러페이지

참고로 원래대로 돌리고 싶으면 위에 생성된 errors 폴더를 삭제하면 디폴트 에러페이지로 다시 참조되어 적용된다.
#Laravel
0 개의 댓글
×