laravel5.2가 존재하지 않는 경로에 액세스할 때 404로 점프하는 방법은 무엇입니까? LNMP 환경을 구성하는 방법은 무엇입니까?
laravel5.2가 존재하지 않는 경로에 액세스할 때 404로 점프하는 방법은 무엇입니까? LNMP 환경을 구성하는 방법은 무엇입니까?
이론적으로는 debug
을 끄면 온라인 환경이 자동으로 404
로 전환됩니다.
'404페이지로 이동'하시겠습니까, 아니면 '404페이지 표시'하시겠습니까? 점프하려면 app/Exceptions/handler.php를 구성하고 NotFoundException이 발생하면 Redirect 응답을 반환하세요.
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>
위의 사례를 통해 예외 처리도 쉽게 할 수 있고, 사용자에게 친근한 안내도 할 수 있어요!