0

I have some problems with implementing custom 404 error.

My errorHandlerController:

<?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:

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

In some other controller I am trying to do this:

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

It does not show any errors but at network console I see this(endless 302) enter image description here

But if I use

return view('errors.404');

everything works as it should.

Somebody help me please, is something wrong with my routes or else?

Vadim Kotov
  • 8,084
  • 8
  • 48
  • 62

2 Answers2

2

Simply just use abort(404); instead of redirect to a custom 404 URL.

1

You can customize error views really easy in laravel. For example for 404, 403, 500, just put your own template/markup in:

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

and you trigger them with the abort or abort_if helpers as explained in the docs

eblin
  • 436
  • 2
  • 5