php – CodeIgniter: Include a controller outside the application environment-ThrowExceptions

Exception or error:

So basically, I would like to load a CodeIgniter controller contents outside CodeIgniter’s environment, that is, from a traditional PHP page.

I have tried the following but it doesn’t suit my requirements:

<?php
require('/application/controller/error?type=not_found');
?>

It gives the following error:

Message: require(/application/controller/error?type=not_found): failed to open stream: No such file or directory

To clarify, I’m trying to change the default /application/errors/error_404.php page contents to this so it will display the custom HTTP 404 error page I’ve built in the “error” controller & view.

The problem is, The pages under /application/errors/ are treated as normal PHP pages by CodeIgniter which means I can’t use $this->load-view('error'); inside the error_404.php page.

I would also appreciate other suggestions for ways to create custom error pages in CodeIgniter.

How to solve:

You should set the 404 page in the route.php page in the application/config folder:

 $route['404_override'] = 'your-error-controller/your-error-view';

This route will tell the Router what URI segments to use if those provided in the URL cannot be matched to a valid route.

I might be confused at your question but the routes.php gives you a place where you can point the 404 page to a custom view.

Leave a Reply

Your email address will not be published. Required fields are marked *