我在 codeigniter 中遇到路由问题。
假设我有一个名为 Pages 的控制器,它有一个名为 product 的方法,它执行以下操作:
public function product() {
$this->load->model('pages_model');
$productid = $this->uri->segment(3);
$data['product'] = $this->pages_model->getProduct($productid);
// ...load view, etc.
}
要访问特定产品,我的 url 将是 www.example.com/pages/product/ID。
我想设置一个自定义路由,以便我可以通过访问 www.example.com/name-of-product 访问该产品。
然而,放
$route['name-of-product'] = 'pages/product/ID';
不起作用。它将加载产品视图,但不会加载产品数据。如果我说
$route['name-of-product/:any/ID'] = 'pages/product/ID';
它可以正常工作,但我宁愿不要在 url 末尾添加两个附加段。