未找到文件错误消息未出现在 Code Igniter 中
Posted
技术标签:
【中文标题】未找到文件错误消息未出现在 Code Igniter 中【英文标题】:File not found error message does not appear in Code Igniter 【发布时间】:2019-03-19 02:57:17 【问题描述】:我正在学习 Code Igniter。基本上我想要做的是当用户转到views
目录中不存在的 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
文件夹。
因此,当我转到尚不存在的 http://localhost/codeigniter/pages/about
等自定义 URL 时,我应该得到一个 404 Page Not Found 消息。
但问题是,浏览器向我显示 找不到对象! 而不是那个。
那么这有什么问题,我该如何解决这个问题?
【问题讨论】:
【参考方案1】:这不是 CI 的工作方式。对于初学者,pages/about
不存在。常规 URI 方案是 Controller
/method
,因此您需要指向 pages/view
再深入一点,CI 已经有一个错误处理程序(您可以更改的预制模板位于/views/error
,您可以根据错误类型制作不同的错误页面
【讨论】:
换句话说,将浏览器指向 localhost/codeigniter/pages/about 以进行有效测试。【参考方案2】:您的网址
http://localhost/codeigniter/pages/about
上面的网址不正确,用这个代替上面的
http://localhost/codeigniter/pages/view/about
网址格式
protocol://domain/class/method/var1/var2/...
Protocol = http://
Domain = localhost/codeigniter (In localhost)
Class = pages
Method = view
Var1 = about
var2 = '' (if any)
【讨论】:
以上是关于未找到文件错误消息未出现在 Code Igniter 中的主要内容,如果未能解决你的问题,请参考以下文章
Android Logcat 错误消息:“文件... driverlist.txt 未找到!”