codeigniter自定义404页面无效

时间:2011-11-07 12:11:06

标签: php codeigniter routing http-status-code-404

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

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

所以你可以看到我在那里给了一个方法。问题是这不能正常工作。在某些页面中,错误404显示了我在方法中设置的页面,但是对于某些页面,它显示的是默认的codeigniter 404页面。

所以我认为这是框架本身的一个错误。你以前有没有人遇到这个?如果是这样,什么是可用于让所有404页面返回自定义页面的最佳旁路方法?

2 个答案:

答案 0 :(得分:2)

我在this SO question

上回答了类似的问题

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

为了解决这个问题,您需要对Exception类中的核心 show_404()进行小规模的破解,并对 show_error()函数进行后续调用在common.php中。或者,请遵循@Eric LaForce建议并修改/扩展Exception类,以便处理新指令。

答案 1 :(得分:0)

如果没有关于哪些页面显示404以及哪些页面没有显示的详细信息,我不确定,但听起来像this人也遇到了类似的情况,并设计了一个解决方案。至少它可能会指向正确的方向。希望它有所帮助。