>백엔드 개발 >PHP 튜토리얼 >laravel 액세스가 존재하지 않는 경로 점프 문제입니다!

laravel 액세스가 존재하지 않는 경로 점프 문제입니다!

WBOY
WBOY원래의
2016-12-01 01:27:451656검색

laravel5.2가 존재하지 않는 경로에 액세스할 때 404로 점프하는 방법은 무엇입니까? LNMP 환경을 구성하는 방법은 무엇입니까?

답글 내용:

laravel5.2가 존재하지 않는 경로에 액세스할 때 404로 점프하는 방법은 무엇입니까? LNMP 환경을 구성하는 방법은 무엇입니까?

이론적으로는 debug을 끄면 온라인 환경이 자동으로 404로 전환됩니다.

'404페이지로 이동'하시겠습니까, 아니면 '404페이지 표시'하시겠습니까? 점프하려면 app/Exceptions/handler.php를 구성하고 NotFoundException이 발생하면 Redirect 응답을 반환하세요.

1. 단지 404 오류를 발생시키고 싶다면 디버그 스위치를 사용하면 됩니다.


2. 예외를 처리하거나 예외를 맞춤설정하려면 다음을 참조하세요.

laravel 프로젝트 루트 디렉터리의 app 아래 Exceptions 디렉터리에 있는 Handler.php 파일은 自定义异常处理异常입니다.

가장 흔한 것은

ModelNotFoundException

데모는 다음과 같습니다.

경로:

<code class="php">vikin.cc/article/8</code>
핸들러 파일:

<code class="PHP">
//处理Http响应异常
public function render($request, Exception $e)
{
    switch($e){
        
        //使用类型运算符 instanceof 判断异常(实例)是否为 ModelNotFoundException
        case ($e instanceof ModelNotFoundException):

            //进行异常处理
            return $this->renderException($e);
            break;

        default:

            return parent::render($request, $e);

    }
}

//处理异常
protected function renderException($e)
{

   switch ($e){

       case ($e instanceof ModelNotFoundException):
           
           //自定义处理异常,此处我们返回一个404页面
           return view('errors.404');
           break;

       default:
       
           //如果异常非ModelNotFoundException,我们返回laravel默认的错误页面
           return (new SymfonyDisplayer(config('app.debug')))
                  ->createResponse($e);

   }

}</code>
위의 사례를 통해 예외 처리도 쉽게 할 수 있고, 사용자에게 친근한 안내도 할 수 있어요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.