Php 未找到文件错误消息未出现在代码点火器中

Php 未找到文件错误消息未出现在代码点火器中,php,codeigniter,http-status-code-404,codeigniter-3,Php,Codeigniter,Http Status Code 404,Codeigniter 3,我在学习密码点火器。基本上,我想做的是当用户转到视图目录中不存在的URL时显示404错误消息 因此,我在application/controllers/创建了一个名为Pages.php的新文件,如下所示: <?php class Pages extends CI_Controller { public function view($page = 'home') { if(!file_exists(APPPATH.'views/pages/'.$page.'.

我在学习密码点火器。基本上,我想做的是当用户转到
视图
目录中不存在的URL时显示404错误消息

因此,我在
application/controllers/
创建了一个名为
Pages.php
的新文件,如下所示:

<?php
class Pages extends CI_Controller
{
    public function view($page = 'home')
    {
        if(!file_exists(APPPATH.'views/pages/'.$page.'.php'))
        {
            show_404();
        }

        $data['title'] = ucfirst($page);

        $this->load->view('templates/header');
        $this->load->view('pages/'.$page, $data);
        $this->load->view('templates/footer');
    }
}
?>

然后我在views目录下创建了一个名为
templates
的文件夹,其中包含一个
header.php
文件和一个
footer.php
文件。我还在同一个目录下创建了一个
pages
文件夹

因此,当我转到自定义URL(如
http://localhost/codeigniter/pages/about
,它还不存在

但问题是,浏览器显示未找到对象
那么,这有什么问题,我该如何解决这个问题呢?

这不是CI的工作方式。对于初学者来说,
pages/about
不存在。常规URI方案是
Controller
/
method
,因此您需要指向
pages/view

再深入一点,CI已经有了一个错误处理程序(可以更改的预制模板位于
/views/error
中,您可以根据错误类型创建不同的错误页面

http://localhost/codeigniter/pages/about

上面的URL不正确,请使用此URL而不是上面的URL

http://localhost/codeigniter/pages/view/about

URL格式

protocol://domain/class/method/var1/var2/...

Protocol=http://

Domain=localhost/codeigniter(在localhost中)

Class=页面

Method=view

Var1=about


var2=''(如果有)

换句话说,指向浏览器以执行有效测试。