我正在构建我的第一个 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();
}
}
我希望有人能告诉我我在这里做错了什么..