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=''(如果有)
换句话说,指向浏览器以执行有效测试。