개발
라라벨 6.x
라라벨 에러 페이지(404, 500) 수정 및 커스터마이징
네이티브하게 웹을 구현한다면 기본적으로 Nginx 에러메시지가 뜨겟지만, 프레임워크를 사용하면 에러페이지도 프레임워크용 에러페이지로 제공된다.
라라벨 프로젝트에서 기본적으로 에러 페이지는 아래와 같이 나타난다.

이 에러페이지는 라라벨
vendor
내부의 미리 정의된 뷰 파일을 이용해 랜더링 된다.이 에러 페이지를 직접 뜯어고치고 싶다면 해당 에러페이지들을 내 프로젝트의
views
에 뜨게해야한다.이 작업을 위해 먼저 프로젝트 위치에서 아래 터미널 명령을 통해
vendor
에 있는 뷰를 꺼내온다.php artisan vendor:publish --tag=laravel-errors
Copy
이 명령어를 진행하면 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
개의 댓글
라라벨 6.x 콜렉션의 다른 글
개발 카테고리의 다른 글
10/10/2024
AWS IP 차단 방법 (서버 아이피 차단)
기존에 웹 서버 단계에서 아이피를 차단하는 방법을 기록한 적이 있다. 이 방법의 단점은 일일히 서버 설정을 열어서 차단해야된다는 문제가 있고, 서버 단에서 엑세스 거부를 날리기 때문에 웹서버 자체가 일단 접근은 허용한 이후에 삭제한다는 특징을 가지고있다. 그러다보니 결국 엑세스가 거부되도 서버 자체가 부하를...
10/07/2024
라라벨 세션을 이용한 손쉬운 조회수 기능 추가
라라벨에서 쿠키를 이용한 손쉬운 조회수 기능 추가 - eruLabo우리가 흔히 특정 게시글이나 페이지뷰에 대해서 조회수 기능(hit count)을 붙일때면 조회시에 post 모델의 hit값을 1 올리는 incresement 작업으로 수행한다. 1$post->increment('hit');cs 근데 이 방식으로하면...https://erulabo.com/177 이전 글에서 브라우...
09/30/2024
라라벨 쿠키를 이용한 손쉬운 조회수 기능 추가
우리가 흔히 특정 게시글이나 페이지뷰에 대해서 조회수 기능(hit count)을 붙일때면 조회시에 post 모델의 hit값을 1 올리는 incresement 작업으로 수행한다. 근데 이 방식으로하면 해당 페이지를 계속 요청하는, 일련의 새로고침 연타로도 계속 조회수가 상승한다. 이런걸 막기위해서는 세션이나 쿠키를 사용해서 조회했...