始终显示Codeigniter 404错误

时间:2014-05-04 14:45:18

标签: codeigniter

您好我是codeigneter的新手并开始为我的商店建立一个简单的网站, 主页已成功完成,没有任何问题。

当我开始创建类别控制器时,我总是得到404错误。

首先我创建了一个db moder,如下所示

class Db_model extends CI_Model {

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

类别控制器如下所示:

class Category extends CI_Controller {
 public function __construct()
 {
  parent::__construct();
  $this->load->model('db_model');
 }

 public function index()
 {
  $catid = $this->uri->segment(2);
  $query = $this->db->query("SELECT * FROM products WHERE category = ".$catid." ORDER BY seq DESC");
  $this->load->library('parser');
  $cat = array(
   'company_entries' => $query->result_array()
            );
        $this->load->view('header');
  $this->parser->parse('category', $cat);
  $this->load->view('footer');

 }

} 

我已将此行添加到routes.php

$route['category/(:any)'] = 'category/$1'; 

网址必须像

"http://localhost/category/catid"

.htacess文件如下:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]

错误404仍然显示任何解决方案吗?

1 个答案:

答案 0 :(得分:0)

您需要使用以下内容替换router.php代码:

  

$ route ['category /(:any)'] ='category / index / $ 1';

<强>解释

截至当前路由为url http://localhost/category/catid,codeigniter会在您的类别控制器中查找名为catid的方法,该方法不存在。通过替换规则,我们告诉codeigniter调用index控制器的category函数。