编码器自定义404页面不工作


codeigniter custom 404 page not working

在codeigniter路由文件中有一个名为

的设置
$route['404_override'] = 'general/not_found';

如你所见,我在这里给出了一个方法。问题是它不能正常工作。对于某些页面,错误404显示的是我在方法中设置的页面,但对于某些页面,它显示的是默认的编码器404页面。

所以我认为这是框架本身的错误。你们有人以前遇到过这种情况吗?如果是这样,让所有404页面返回自定义页面的最佳绕过方法是什么?

我在上回答了类似的问题

基本上,这不是一个bug,因为自定义重路由错误消息不会影响核心函数 show_404() 的调用,而只会影响控制器生成的错误消息。

为了解决这个问题,您需要对Exception类中的核心show_404()进行一个小改动,并对common.php中的show_error()函数进行后续调用。或者,按照@Eric LaForce的建议,修改/扩展Exception类,以便在你的新指令上工作。

关于哪些页面显示404而哪些页面没有,我不确定,但听起来这个人也遇到了类似的情况,并设计了一个解决方案。至少它会给你指明正确的方向。