Php CodeIgniter路由2参数
我曾尝试使用routes创建一个应用程序,但当我传递2个参数时,什么也没发生。该函数未被激发 当我使用1参数时,它可以工作:Php CodeIgniter路由2参数,php,codeigniter,routes,Php,Codeigniter,Routes,我曾尝试使用routes创建一个应用程序,但当我传递2个参数时,什么也没发生。该函数未被激发 当我使用1参数时,它可以工作: $route['category_(:any)'] = 'category/categoryDetails/$1'; $route['category_(:any)/(:any)'] = 'category/categoryDemandeDetails/$1/$2'; 在我的控制器中: public function categoryDetails($name){
$route['category_(:any)'] = 'category/categoryDetails/$1';
$route['category_(:any)/(:any)'] = 'category/categoryDemandeDetails/$1/$2';
在我的控制器中:
public function categoryDetails($name){
$data = array('page' => 'category', 'categoryName' => $name);
$this->load->view('category', $data);
}
public function categoryDemandeDetails($name, $demande){
$data = array('page' => 'category', 'categoryName' => $name);
$this->load->view('demande', $data);
}
您能帮助我吗?第一条路由将捕获所有以类别\开头的请求,包括任何应该路由到第二条路由的请求。这是因为:any将捕获任何内容,包括多个参数,因此第二条路由永远不会按此顺序使用 路由将按定义的顺序运行。较高的路线将始终优先于较低的路线 您只需更改路线的顺序:
$route['category_(:any)/(:any)'] = 'category/categoryDemandeDetails/$1/$2';
$route['category_(:any)'] = 'category/categoryDetails/$1';
如果交换这些路由的顺序,将第一个路由移到第二个路由的下方,会发生什么情况?这很有效。非常感谢你