【问题标题】:codeigniter custom 404 page not workingcodeigniter 自定义 404 页面不起作用
【发布时间】:2011-12-23 14:11:57
【问题描述】:
在 codeigniter 路由文件中有一个名为
的设置
$route['404_override'] = 'general/not_found';
所以你可以看到我在那里给出了一个方法。问题是这不能正常工作。在某些页面中,错误 404 显示的是我在方法中设置的页面,但对于某些页面,它显示的是默认的 codeigniter 404 页面。
所以我认为这是框架本身的一个错误。你们中有人遇到过这种情况吗?如果是这样,让所有 404 页面返回自定义页面的最佳绕过方法是什么?
【问题讨论】:
标签:
php
codeigniter
routing
http-status-code-404
【解决方案1】:
我在this SO question上回答了类似的问题
基本上,这不是错误,因为自定义重新路由错误消息不会影响核心函数 show_404() 的调用,而只会影响控制器生成的错误消息。
为了解决这个问题,您需要对 Exception 类中的核心 show_404() 进行小改动,然后调用 show_error() 函数在common.php。或者,遵循@Eric LaForce 的建议并修改/扩展 Exception 类以处理您的新指令。
【解决方案2】:
没有更多关于哪些页面显示 404 和哪些不显示的详细信息,我不确定,但听起来 this 人也遇到了类似的情况并设计了一个解决方案。至少它可以为您指明正确的方向。希望对您有所帮助。