用户
 找回密码
 入住 CI 中国社区
搜索
查看: 3238|回复: 6
收起左侧

[已解决] 为什么404页面里不能使用CI对象

[复制链接]
发表于 2011-6-22 09:48:06 | 显示全部楼层 |阅读模式
error文件夹下的error_404.php页面,我希望他能调用常态页面下的header和footer模板,但是发现他不支持$this->load->view(),于是我在页头加上$CI = & get_instance();结果..CI控制器对象调用失败报错:Fatal error: Class 'CI_Controller' not found in D:\xampp\htdocs\haochilanzuo\system\core\CodeIgniter.php on line 210,大家能帮忙看看这是怎么回事吗,如何才能在404页面里调用CI控制器,另外我想调用base_url()函数来生成返回首页的链接也不行
 楼主| 发表于 2011-6-22 09:52:40 | 显示全部楼层
是在不行就只能把他的报错机制重做了
发表于 2011-6-22 10:26:13 | 显示全部楼层
因为那时还没有加载控制器类
 楼主| 发表于 2011-6-22 10:42:48 | 显示全部楼层
刚看了下里面的代码,确实出错跳转是在载入控制器之前
发表于 2011-6-23 13:09:41 | 显示全部楼层
可以自定义404,问题是不能用show_404来调用~
发表于 2013-8-15 20:36:05 | 显示全部楼层
研究了一下底层的代码,发现CI有做配置的,
config目录下的routes.php

$route['404_override'] = '';

是用来重写404页面的
发表于 2014-5-22 11:56:30 | 显示全部楼层
$route['404_override'] = ''; 是用来重写404页面的,但是只能够判断当控制器不存在的时候出现404页面,在有控制器而不存在方法时,就会成了200!,这是个问题

本版积分规则