show_404() doesn't use my custom 404 page - Printable Version +- CodeIgniter Forums (https://forum.codeigniter.com) +-- Forum: Using CodeIgniter (https://forum.codeigniter.com/forumdisplay.php?fid=5) +--- Forum: General Help (https://forum.codeigniter.com/forumdisplay.php?fid=24) +--- Thread: show_404() doesn't use my custom 404 page (/showthread.php?tid=66110) |
show_404() doesn't use my custom 404 page - AdmiralAdama - 09-06-2016 Hello all, On my CodeIgniter site, I set up a custom 404 page using the following code. config/routes.php PHP Code: $route['404_override'] = 'error_pages/error_404_custom'; controllers/Error_pages.php PHP Code: <?php helpers/mv_helper.php (autoloaded) PHP Code: if ( ! function_exists('load_page_with_great_races_sidebar') ) Works like a charm in most scenarios. Except one. If I try to use the show_404() function in a controller to throw a 404 error manually, I get the generic 404 page (which I left in the views/errors/html folder and didn't delete). What should I change so that my custom 404 page gets loaded by the show_404() function? Or should I use a different function? (I don't think I can simply replace views/errors/html/error_404.php with my custom error page, because I also do a database query and load the header and footer) Thanks. RE: show_404() doesn't use my custom 404 page - Tecvid - 09-06-2016 this is imposible until u will override the show_404() function, from the user_guide: You are encouraged to always have a default route as otherwise a 404 page will appear by default. PHP Code: $route['404_override'] = ''; It won’t affect to the show_404() function, which will continue loading the default error_404.php file at application/views/errors/error_404.php. RE: show_404() doesn't use my custom 404 page - AdmiralAdama - 09-06-2016 Any other ideas? I might end up making my own show_my_404() function and ending it with exit(4); RE: show_404() doesn't use my custom 404 page - wolfgang1983 - 09-06-2016 If your using latest version of CI3 will not work in sub folders Code: $route['404_override'] = 'error_pages/error_404_custom'; Try instead controllers > Error_pages.php Code: $route['404_override'] = 'error_pages'; // This will be a controller name http://www.codeigniter.com/user_guide/general/styleguide.html#file-naming |