![](/img/trans.png)
[英]MethodNotAllowedHttpException, redirect to 404 Laravel 9
[英]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.debug
為true
,我將獲得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.