代码之家  ›  专栏  ›  技术社区  ›  La_Concorde

试图返回自定义404页的laravel

  •  0
  • La_Concorde  · 技术社区  · 6 年前

    我在实现自定义404错误时遇到了一些问题。

    我的错误控制器:

    <?php
    
    namespace App\Http\Controllers;
    
    use Illuminate\Http\Request;
    
    class ErrorHandlerController extends Controller
    {
        public function errorCode404()
        {
            return view('errors.404');
        }
    
        public function errorCode405()
        {
            return view('errors.405');
        }
    }
    

    路线:

    Route::get('404',['as'=>'404','uses'=>'ErrorHandlerController@errorCode404']);
    

    在另一个控制器中,我试图这样做:

    return redirect()->route('404');
    

    它没有显示任何错误,但在网络控制台我看到了这个(无尽的302) enter image description here

    但如果我用

    return view('errors.404');
    

    一切正常。

    请帮帮我,我的路线有问题吗?

    2 回复  |  直到 6 年前
        1
  •  1
  •   eblin    6 年前

    在laravel中,您可以很容易地定制错误视图。例如,对于404403500,只需将您自己的模板/标记放入:

    resources/views/errors/404.blade.php
    resources/views/errors/403.blade.php
    resources/views/errors/500.blade.php
    

    你用 abort abort_if 帮手 如中所述 docs

        2
  •  2
  •   Per Eriksson    6 年前

    只需使用abort(404);而不是重定向到自定义的404 url。