我正在进入框架,而且我正在使用CI,所以我可以更熟悉OOP。在页面控制器的静态页面教程中,我被告知要复制此代码
<?php
class Pages extends CI_Controller {
public function view($page = 'home') {
if (!file_exists(APPPATH . '/views/pages' . $page . '.php')) {
// we dont have a page for that!
show_404();
}
$data['title'] = ucfirst($page); //Capitilize the first letter
$this->load->view('templates/header', $data);
$this->load->view('pages/' . $page, $data);
$this->load->view('templates/footer', $data);
}
}
?>
在 if语句中阻止了我尝试加载的网页,例如 about.php和index.php
当我删除if语句中的!
我能够呈现 about.php和index.php 这是好的,我能够根据教程加载我的页面,但如果我输入一些随机的内容,如 asdasd.php 我没有得到404错误,我得到 AN ERROR WAS ENCOUNTERED无法加载请求的文件:pages / asdasd.php
我如何解决此问题,让CI在文件不存在时显示404。
由于
答案 0 :(得分:1)
问题似乎在file_exists
来电的路径中。
您需要在/
之后的以下行中添加/pages
(斜杠):
if (!file_exists(APPPATH . '/views/pages' . $page . '.php')) {