Steps to create custom 404 error page In Codeigniter

We can easly create custom 404 page in codeigniter.We will use following step to create custom error page.

Step 1

Create view file with named "error_404.php" inside application\views\error_404.php and add following code.

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
?><!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>404 Page Not Found</title>
<style type="text/css">
::selection { background-color: #E13300; color: white; }
::-moz-selection { background-color: #E13300; color: white; }
body {
  background-color: #fff;
  margin: 40px;
  font: 13px/20px normal Helvetica, Arial, sans-serif;
  color: #4F5155;
}
a {
  color: #003399;
  background-color: transparent;
  font-weight: normal;
}
h1 {
  color: #444;
  background-color: transparent;
  border-bottom: 1px solid #D0D0D0;
  font-size: 19px;
  font-weight: normal;
  margin: 0 0 14px 0;
  padding: 14px 15px 10px 15px;
}
code {
  font-family: Consolas, Monaco, Courier New, Courier, monospace;
  font-size: 12px;
  background-color: #f9f9f9;
  border: 1px solid #D0D0D0;
  color: #002166;
  display: block;
  margin: 14px 0 14px 0;
  padding: 12px 10px 12px 10px;
}
#container-fluid {
  margin: 10px;
  border: 1px solid #D0D0D0;
  box-shadow: 0 0 8px #D0D0D0;
}

p {
  margin: 12px 15px 12px 15px;
}
</style>
</head>
<body>
  <div id="container-fluid">
    <h1><?php echo $heading; ?></h1>
    <?php echo $message; ?>
  </div>
</body>
</html>
Step 2

Create Controller file with named "custom404.php" inside application\controllers\custom404.php and add following code.

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Custom404 extends CI_Controller {

  public function index()
  {
    $this->load->view('error_404');
  }
}
Step 3

Go to "application/config/routes.php" open and add custom controller for 404 error page.

$route['404_override'] = 'custom404'; // adding custom controller.

remove-index.php-from-url-in-codeigniter