laravel 프레임 워 크 설정 404 등 이상 페이지

1919 단어 laravel404
Laravel 에서 모든 이상 은 Handler 클래스 에서 처리 합 니 다.이 종 류 는 report 와 render 두 가지 방법 을 포함 합 니 다.그 중에서 render 방법 은 http 응답 에 이상 을 렌 더 링 합 니 다.laravel 의 Handler 클래스 파일 위치:app/Exceptions/Handler,render 방법 시간 이상 이 http 응답 에 렌 더 링 되 었 기 때문에 render 방법 만 수정 하면 됩 니 다.
인터넷 상에 서 많은 방법 은 render 방법 을 다음 과 같이 수정 하 는 것 이다.

public function render($request, Exception $exception)
{
  if ($exception) {
    return response()->view('error.'.$exception->getStatusCode(), [],$exception->getStatusCode());
  }
  return parent::render($request, $exception);
}
이 럴 때 는 테스트 에 문제 가 없 을 수도 있 습 니 다.하지만 로그 인 방법 을 썼 다 면 로그 인 해 야 할 페이지 를 방문 할 때 오류 가 발생 할 수 있 습 니 다.

로그 인 해 야 할 페이지 를 방 문 했 을 때 app/Exceptions/Handler.php 의 render 방법 에 들 어가 기 때 문 입 니 다.이 때$exception->getStatusCode()가 존재 하지 않 습 니 다.이 때 잘못 보고 되 었 습 니 다.어떻게 해결 합 니까?
이때 우 리 는 parent::render 의 방법 을 찾 았 다.

이때 우 리 는 원래 laravel 프레임 워 크 가 우리 의 이러한 상황 을 포함 시 켰 다 는 것 을 알 게 되 었 다.그러면 우 리 는 곧 위의 방법 을 다음 과 같이 바 꿀 수 있다.

public function render($request, Exception $exception)
{
  if (!($exception instanceof AuthenticationException)) {
    return response()->view('error.'.$exception->getStatusCode(), [],$exception->getStatusCode());
  }
  return parent::render($request, $exception);
}
이때 이 문 제 를 완벽 하 게 해결 했다.
그리고 resources/view/error/아래 에 오류 페이지 를 새로 만 듭 니 다.오류 페이지 의 이름 은{errorcode}.balde.php 입 니 다.그 중의 errorcode 는 오류 코드 입 니 다.예 를 들 어 404.balde.php 입 니 다.
설정 이 완료 되면 존재 하지 않 는 경로 에 접근 할 때 설정 한 404 페이지 로 이동 할 수 있 습 니 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기