codeigniter静态页面教程

时间:2015-08-11 19:50:10

标签: php codeigniter

我正在进入框架,而且我正在使用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。

由于

1 个答案:

答案 0 :(得分:1)

问题似乎在file_exists来电的路径中。

您需要在/之后的以下行中添加/pages(斜杠):

if (!file_exists(APPPATH . '/views/pages' . $page . '.php')) {