lixigame 发表于 2011-6-22 09:48:06

为什么404页面里不能使用CI对象

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()函数来生成返回首页的链接也不行

lixigame 发表于 2011-6-22 09:52:40

是在不行就只能把他的报错机制重做了

visvoy 发表于 2011-6-22 10:26:13

因为那时还没有加载控制器类

lixigame 发表于 2011-6-22 10:42:48

刚看了下里面的代码,确实出错跳转是在载入控制器之前

rockey329 发表于 2011-6-23 13:09:41

可以自定义404,问题是不能用show_404来调用~

CobbySung 发表于 2013-8-15 20:36:05

研究了一下底层的代码,发现CI有做配置的,
config目录下的routes.php

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

是用来重写404页面的

琳2014 发表于 2014-5-22 11:56:30

$route['404_override'] = ''; 是用来重写404页面的,但是只能够判断当控制器不存在的时候出现404页面,在有控制器而不存在方法时,就会成了200!,这是个问题
页: [1]
查看完整版本: 为什么404页面里不能使用CI对象