Codeigniter:路由和URI段
我在codeigniter中遇到路由问题 假设我有一个名为Pages的控制器,其中一个名为product的方法执行以下操作:Codeigniter:路由和URI段,codeigniter,Codeigniter,我在codeigniter中遇到路由问题 假设我有一个名为Pages的控制器,其中一个名为product的方法执行以下操作: public function product() { $this->load->model('pages_model'); $productid = $this->uri->segment(3); $data['product'] = $this->pages_model->getProduct($produ
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的末尾有另外两个段 您不需要另外两段。一个就足够了
$route['PRODUCT_NAME/PRODUCT_ID'] = 'pages/product/PRODUCT_ID';
但是,如果我是你,我会让URL中的第一个段成为产品的id
$route['PRODUCT_ID/PRODUCT_NAME'] = 'pages/product/PRODUCT_ID';
这样,如果我只知道产品id,就不必键入example.com//123
,这可能会导致一些问题。如果我没有弄错,如果您这样做,CI将尝试加载名为123
的控制器