您好我是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仍然显示任何解决方案吗?
答案 0 :(得分:0)
您需要使用以下内容替换router.php
代码:
$ route ['category /(:any)'] ='category / index / $ 1';
<强>解释强>
截至当前路由为url http://localhost/category/catid
,codeigniter会在您的类别控制器中查找名为catid
的方法,该方法不存在。通过替换规则,我们告诉codeigniter调用index
控制器的category
函数。