簡體   English   中英

如果調試為真,則重定向到登錄獲取 404 Laravel

[英]Redirect to login get 404 if debug is true Laravel

所以這是我的web.php

Auth::routes(['verify' => true]);
Route::group(['middleware' => ['auth']], function () {
   Route::get('/add/{prod}', 'LandingPageController@addprod')->name('prod.add');
}

如您所見,該路由位於auth中間件下,但是如果我嘗試 go 例如/add/5而不登錄,如果app.debugtrue ,我將獲得301登錄,如果它是 false 則為404

如果我轉儲錯誤,我會得到Illuminate\Auth\AuthenticationException: Unauthenticated.

編輯

看起來它是由Handler引起的,因為我編輯了一個方法:

public function render($request, Exception $exception)
{
    if(config('app.debug')) return parent::render($request, $exception);
    else return response()->view('error',array(),404);
}

如何將我的視圖用於錯誤而不出現此錯誤?

實現這種效果的更簡潔的方法是修改Laravel 的異常處理程序

修改App\Exceptions\Handler以捕獲每個錯誤並返回您共享的自定義錯誤頁面。

/**
 * Render an exception into an HTTP response.
 *
 * @param  \Illuminate\Http\Request  $request
 * @param  \Exception  $e
 * @return \Illuminate\Http\Response
 */
public function render($request, Exception $e)
{
    if ($e instanceof NotFoundHttpException) {
        return response()->view('errors.custom', [], 404);
    }

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

可能需要進行一些自定義才能完全滿足您希望將數據傳遞到共享自定義視圖的內容和方式。

暫無
暫無

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

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