无法使用控制器"错误"用于404_override路由

时间:2017-04-25 09:11:03

标签: php codeigniter routing codeigniter-3

我有控制器名为"错误"在codeigniter" application / controllers / Error.php"。

我使用此控制器通过路由覆盖默认的404错误页面。

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

但是在404错误发生时,我收到了以下错误。

 A PHP Error was encountered

Severity: Warning

Message: call_user_func_array() expects parameter 1 to be a valid callback, class 'Error' does not have a method 'index'

Filename: core/CodeIgniter.php

Line Number: 514

Backtrace:

File: C:\xampp\htdocs\ci-app\index.php
Line: 292
Function: require_once

但是当我将Error控制器重命名为另一个时,它可以工作。

请帮忙。

1 个答案:

答案 0 :(得分:2)

您需要将控制器和文件名更改为myerror,例如

<?php 
//application/controllers/Myerror.php
class Myerror extends CI_Controller 
{
    public function __construct() 
    {
        parent::__construct(); 
    } 

    public function index() 
    { 
        $this->output->set_status_header('404'); 
        $data['content'] = 'error_404'; // Let View name 
        $this->load->view('index',$data);// loading view
    } 
}