Codeigniter中带有自定义404页面的未定义属性

时间:2013-09-12 01:18:37

标签: php codeigniter

我在routes.php文件中设置了404_override。文件很简单:

public function missing_page()
{
    $this->output->set_status_header('404');
    $this->load->view('header');
    $this->load->view('404');
    $this->load->view('footer');
}

如果我导航到不存在的控制器(即/ missing-page),则自定义404方法正确加载。如果我导航到现有的控制器但是不存在的方法(即/ not-missing / missing)我得到一个错误:

Codeigniter错误日志:Severity: Notice --> Undefined property: CI_Loader::$user_model /application/views/header.php 30

PHP错误日志: PHP Fatal error: Call to a member function active() on a non-object in /views/header.php on line 30

为什么这对一个而不是另一个有效?

1 个答案:

答案 0 :(得分:0)

查看http://ellislab.com/codeigniter/user-guide/general/errors.html

在那里说当找不到控制器时会触发404。

这就是为什么你的第一个场景工作正常。

但是在你的第二个场景中,codeigniter找到了你的控制器而不是你的方法。

问候。