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 页面不起作用的主要内容,如果未能解决你的问题,请参考以下文章
如何在 CodeIgniter 中为 403 禁止错误设置自定义页面