How To Create a Custom 404 Page in Laravel 10 Tutorial

Reading Time: 5 minutes
373 Views

Inside this article we will see the concept i.e How To Create a Custom 404 Page in Laravel 10 Tutorial. Article contains the classified information i.e Laravel 404 page not found template customization.

A 404 error page, also known as a “Page Not Found” error, is an HTTP response status code that indicates that the web server cannot find the requested webpage. This error typically occurs when a user tries to access a webpage that does not exist or has been deleted.

Read More: Laravel 10 Eloquent Has One Through Relationship Tutorial

Let’s get started.

Laravel Installation

Open terminal and run this command to create a laravel project.

$ composer create-project laravel/laravel myblog

It will create a project folder with name myblog inside your local system.

To start the development server of laravel –

$ php artisan serve

URL: http://127.0.0.1:8000

Assuming laravel already installed inside your system.

Create Database & Connect

To create a database, either we can create via Manual tool of PhpMyadmin or by means of a mysql command.

CREATE DATABASE laravel_app;

To connect database with application, Open .env file from application root. Search for DB_ and update your details.

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel_app
DB_USERNAME=root
DB_PASSWORD=root

Types of Error Pages in Laravel 10

There are several status codes which laravel application use for errors. According to the error code laravel provides by default the blade template files in application.

Read More: Eloquent Has Many Through Relationship in Laravel 10

Application Default Error Pages

  • 401.blade.php
  • 403.blade.php
  • 404.blade.php
  • 419.blade.php
  • 429.blade.php
  • 500.blade.php
  • 503.blade.php

These all error pages stored inside /errors folder. These pages handles the error page layout of application. By default /errors folder will not be available inside /resources/views folder.

How To Publish Laravel Default Error Pages?

Open project into terminal and run this command to publish error pages of laravel.

$ php artisan vendor:publish --tag=laravel-errors

Above command will create /errors folder inside /resources/views folder. This errors folder provides all the layouts of error pages.

Laravel Default 404 Error Page

Let’s say a laravel application contains these routes.

//...

Route::get("/", function () {
    echo "<h3>Welcome to home page</h3>";
});

Route::get("/about-us", function () {
    echo "<h3>Welcome to about us page</h3>";
});

//...

When we open URL like

  • http://127.0.0.1:8000/ OR http://127.0.0.1:8000/about-us It will work.
  • http://127.0.0.1:8000/contact-us – It will throw 404 error and open a default 404 error page of laravel.

Output be like –

Next, let’s change this default layout for laravel 404 page.

Create Custom 404 Error Page in Laravel

If suppose you didn’t publish error pages then you need to create /errors folder inside /resources/views folder and then a file with name 404.blade.php should be created.

Read More: Eloquent Many-to-Many Relationship in Laravel 10 Tutorial

Open 404.blade.php file from /resources/views/errors folder and write this complete code into it.

<!DOCTYPE html>
<html lang="en">
<head>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/css/bootstrap.min.css">
    <style type="text/css">
        body{
          margin-top: 150px;
            background-color: #C4CCD9;
        }
        .error-main{
          background-color: #fff;
          box-shadow: 0px 10px 10px -10px #5D6572;
        }
        .error-main h1{
          font-weight: bold;
          color: #444444;
          font-size: 100px;
          text-shadow: 2px 4px 5px #6E6E6E;
        }
        .error-main h6{
          color: #42494F;
        }
        .error-main p{
          font-size: 14px; 
        }
    </style>
</head>
<body>
    <div class="container">
      <div class="row text-center">
        <div class="col-lg-6 offset-lg-3 col-sm-6 offset-sm-3 col-12 p-3 error-main">
          <div class="row">
            <div class="col-lg-8 col-12 col-sm-10 offset-lg-2 offset-sm-1">
              <h1 class="m-0">404</h1>
              <h6>Page not found - Online Web Tutor Blog</h6>
              <p>Are you interested to learn more programming?</p>
              <p><a href="{{ URL::to('/') }}" class="btn btn-dark">Click here</a></p>
            </div>
          </div>
        </div>
      </div>
    </div>
</body>
</html>

Application Testing

Run this command into project terminal to start development server,

php artisan serve

URL – http://127.0.0.1:8000/contact-us (It doesn’t exists in application)

Error page now,

We hope this article helped you to learn How To Create a Custom 404 Page in Laravel 10 Tutorial in a very detailed way.

Read More: Laravel 10 One to Many Eloquent Relationship Tutorial

Online Web Tutor invites you to try Skillshike! Learn CakePHP, Laravel, CodeIgniter, Node Js, MySQL, Authentication, RESTful Web Services, etc into a depth level. Master the Coding Skills to Become an Expert in PHP Web Development. So, Search your favourite course and enroll now.

If you liked this article, then please subscribe to our YouTube Channel for PHP & it’s framework, WordPress, Node Js video tutorials. You can also find us on Twitter and Facebook.