codeigniter 自定义 404 页面不起作用

Posted

技术标签:

【中文标题】codeigniter 自定义 404 页面不起作用【英文标题】:codeigniter custom 404 page not working 【发布时间】:2011-12-23 14:11:57 【问题描述】:

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

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

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

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

【问题讨论】:

【参考方案1】:

我在this SO question上回答了类似的问题

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

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

【讨论】:

【参考方案2】:

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

【讨论】:

以上是关于codeigniter 自定义 404 页面不起作用的主要内容,如果未能解决你的问题,请参考以下文章

php Codeigniter自定义控制器基础404页面

CodeIgniter 路由和 404 自定义错误

如何在 CodeIgniter 中为 403 禁止错误设置自定义页面

自定义 404 未在实时服务器上的 Codeigniter 中显示

Django 自定义 404 页面不起作用

为啥我在 codeigniter 中的分页不起作用? (404 未找到)