首頁 > 後端開發 > php教程 > laravel 存取不存在的路由跳轉問題!

laravel 存取不存在的路由跳轉問題!

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
發布: 2023-03-02 13:02:01
原創
1698 人瀏覽過

laravel5.2 存取一個不存在的路由時,如何跳到404,LNMP環境,要怎麼設定?

回覆內容:

laravel5.2 存取一個不存在的路由時,如何跳到404,LNMP環境,要怎麼設定?

理論上你把 debug 關了,線上環境是會自動到 404 的。

你是想要「跳到 404 頁」還是「顯示 404 頁」?如果是要跳轉的話,請設定 app/Exceptions/handler.php,並在 NotFoundException 被拋出時傳回 Redirect 回應。

1、如果你只是想拋出404錯誤,debug開關可以滿足你;


2、如果你想處理異常或自訂異常,可參考如下;

在laravel專案根目錄下的app下的Exceptions目錄下的Handler.php文件;我們可以在這裡自訂異常以及處理異常

最常見的莫過於ModelNotFoundException

下面是一個Demo:

route:

vikin.cc/article/8
登入後複製

Handler file:

//处理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);

   }

}
登入後複製

透過上述案例,你可以輕鬆的處理異常,並給使用者一個友善的提示!

相關標籤:
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
Laravel Space/laravel-backup 無法安裝
來自於 1970-01-01 08:00:00
0
0
0
Laravel 5.1 登入 laravel 自備的 沒有啦
來自於 1970-01-01 08:00:00
0
0
0
composer安裝laravel安裝不上
來自於 1970-01-01 08:00:00
0
0
0
為什麼thinkphp比laravel效能好?
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板