簡體   English   中英

Laravel 4 - 處理404錯誤

[英]Laravel 4 - Handling 404 Errors

我知道用laravel 4來處理404錯誤就是在app / start / global.php上寫:

App::missing(function($exception)
{
    return Redirect::route('404_Error');
});

但實際上我想使用這條路線:

Route::get('error', array(
    'as' => '404_Error',
    'uses' => 'ErrorController@get404Error'
));

但要保持相同的URL。

例:

我的URL現在是localhost:8000/users/blat (404錯誤)。 我不想重定向到錯誤頁面。 我想在這個URL上看到ErrorController@get404Error

非常感謝。

你可以嘗試這樣的事情:

App::missing(function($exception)
{
    return App::make('ErrorController')->get404Error($exception);
});

你的ErrorController

class ErrorController extends BaseController {
    //...
    public function get404Error($exception)
    {
        //...
        $data = ...;
        return View::make('error_view')->with('data', $data);
    }
}

如果您使用不同的路線,它將重定向到該路線,您可能需要立即渲染您的視圖,IMO這是保持您所在位置的唯一方式,而不是更改您的網址:

App::missing(function($exception)
{
    return View::make('404_Error');
});

您只需創建ErrorController類的實例並調用其get404Error方法即可。 這樣你就BaseController類中的變量,並且路由將保持不變。

App::missing(function($exception)
{
    $errorController = new ErrorController();
    return $errorController->get404Error();
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM