点击文章时出现404错误

时间:2013-03-02 20:26:42

标签: php oop codeigniter codeigniter-routing

我正在建立我的第一个CodeIgniter网站,我正在征服一个似乎难以解决的问题..

当我点击文章阅读时,我会继续获得404页面。 (未找到)

我得到的链接如下

的index.php /物品/ ArticleName的

在我的控制器中,我有以下视图部分

    public function view($slug) {
    $data['article_item'] = $this->articles_model->get_article($slug);

    if (empty($data['article_item']))
    {
        show_404();
    }

    $data['title'] = $data['article_item']['title'];

    $this->load->view('templates/header', $data);
    $this->load->view('articles/view', $data);
    $this->load->view('templates/side', $data);
    $this->load->view('templates/footer');
}

如您所见,它必须在文章目录中包含view.php

在我的路由器中,我有以下

    $route['articles/(:any)'] = 'articles/view/$1';
$route['articles/create'] = 'articles/create';
$route['(:any)'] = 'pages/view/$1';
$route['gallery'] = 'gallery';
$route['articles'] = 'articles';
$route['default_controller'] = 'home';
$route['404_override'] = '';

为了确保我在这里发布了所有相关内容,我创建的链接

<a href="articles/<?php echo $article_item['slug'] ?>" class="button">Read more</a>

和模型

    <?php
class Articles_model extends CI_Model {

    public function __construct() {
        $this->load->database();
    }

    public function get_article($slug = FALSE) {
        if ($slug === FALSE) {
            $query = $this->db->get('articles');
            return $query->result_array();
        }

        $query = $this->db->get_where('articles', array('slug' => $slug));
        return $query->row_array();
    }
}

我希望有人可以告诉我这里我做错了什么..

1 个答案:

答案 0 :(得分:1)

您在链接中缺少功能名称。

您的网址应为:index.php / articles / view / articlename

index.php之后的URL中的第一部分是类的名称,第二部分是函数的名称,然后是输入值