无论您访问哪个URL,我都要创建默认控制器
意思是自定义404。
class MY_Exceptions extends CI_Exceptions
{
var $ci;
public function __construct()
{
parent::CI_Exceptions();
$this->ci =& get_instance();
}
function show_404($page = '')
{
//load view here
}
}
我得到的get_instance未定义。 (因为它是在库被调用后定义的)
有没有办法在codeignigter 1.7.2中创建自定义404控制器而不使用系统核心代码。
由于
答案 0 :(得分:2)
Upgrade to CodeIgniter 2.0因为its stable并使用:
$route['404_override'] = '';
答案 1 :(得分:1)
如果您只想自定义404页面,可以在/system/application/errors/error_404.php
页面下进行。需要注意的是,您不能使用$this
对象,它是严格的HTML / CSS或内置PHP(无法访问您的库,模型等)。
这是CodeIgniter在找不到处理请求的控制器时默认显示的页面。
不确定这是否是您尝试做的原因,但这是创建自定义404页面的最简单方法。
答案 2 :(得分:0)
这应该可以正常工作。确保它位于“application / libraries”文件夹中,并确保您的配置将“MY_”设置为自定义库名称。
此外,如果您正在执行function __construct(){}
,则可以执行parent::__construct()
。
答案 3 :(得分:0)
http://maestric.com/doc/php/codeigniter_404
我使用过这个解决方案,它在CI 1.7中适用于我