1

我正在构建我的第一个 CodeIgniter 网站,并且我正在克服一个似乎难以解决的问题..

当我点击一篇文章阅读它时,我不断得到一个 404 页面。( 未找到 )

我得到的链接如下

index.php/articles/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();
    }
}

我希望有人能告诉我我在这里做错了什么..

4

1 回答 1

1

您在链接中缺少函数名称。

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

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

于 2013-07-30T08:16:39.773 回答