Laravel 7 Custom 404, 500 Error Page Example
Laravel 25-Jan-2021

Laravel 7 Custom 404, 500 Error Page Example

Laravel creates custom error page example, Here you will learn how to create custom 404, 500 error page in laravel apps.

Usually, laravel display default page 404, 500 error pages. But you want to design and change these pages. This tutorial will guide you to step by step from scratch for how to create custom 404, 500 error pages in laravel

Sometimes, you need to create a blade files like 404.blade.php, 500.blade.php, etc on laravel apps. So navigate resources/views/errors) directory in laravel apps. And then create any custom error pages inside this folder.

Laravel Create Custom Error Page

Follow the below steps and create custom 404, 500 error pages in laravel aps:

  1. Create 404 View File
  2. Create 500 View File
  3. Modify Exceptions Handler

1: Create 404 View File

Go to resources/views folder and create a folder named errors.

Then inside this errors folder, create a file called 404.blade.php. So the location of our 404 page is resources/views/errors/404.blade.php.

resources/views/errors/404.blade.php

<!DOCTYPE html>
<html>
<head>
    <title>Page Not Found</title>
</head>
<body>
This is the custom 404 error page.
</body>
</html>

2: Create 500 View File

Go to resources/views folder and create a folder named errors.

Then inside this errors folder, create a file called 500.blade.php. So the location of our 500 page is resources/views/errors/500.blade.php.

resources/views/errors/500.blade.php

<!DOCTYPE html>
<html>
<head>
    <title>Page Not Found</title>
</head>
<body>
This is the custom 500 error page.
</body>
</html>

3: Modify Exceptions Handler

Now, navigate to app/Exceptions and open Handler.php file and find the render() method. Then modify the render() method only as follow:

public function render($request, Exception $exception)
{
    if ($this->isHttpException($exception)) {
        if ($exception->getStatusCode() == 404) {
            return response()->view('errors.' . '404', [], 404);
        }
    }
    return parent::render($request, $exception);
}

as well as render 500 error page in this file as follow:

public function render($request, Exception $exception)
{
    if ($this->isHttpException($exception)) {
        if ($exception->getStatusCode() == 404) {
            return response()->view('errors.' . '404', [], 404);
        }
        if ($exception->getStatusCode() == 500) {
            return response()->view('errors.' . '500', [], 500);
        }
    }
    return parent::render($request, $exception);
}

Conclusion

In this laravel create custom error page example, you have learned how to create custom page for 404, 500 error in laravel apps. As well as how to use them.