我正在构建我的第一个CodeIgniter应用程序,我需要制作如下URL:
controllername/{uf}/{city}
示例:/ rj / rio-de-janeiro
这个例子应该给我2个参数:$uf(‘rj’)和$city(‘rio-de-janeiro’)
另一个URL可能是:
controllername/{uf}/{page}
示例:/ rj / 3
这个例子应该给我2个参数:$uf(‘rj’)和$page(3)
换句话说,参数“city”和“page”是选项.
我不能传递’/ uf / city / page’之类的东西.我总是需要或’城市’或”页’.
但我不知道如何在CodeIgniter配置中配置这些路由以指向相同的方法(甚至不同的方法).
我找到了正确的结果:
$route['controllername/(:any)/(:any)/(:num)'] = 'ddd/index/$1/$2/$3'; $route['controllername/(:any)/(:num)'] = 'ddd/index/$1/null/$2'; // try 'null' or '0' (zero) $route['controllername/(:any)'] = 'ddd/index/$1';
Index方法(在“ControllerName”中)应该是:
public function Index($uf = '',$slug = '',$pag = 0) { // some code... if (intval($pag) > 0) { // pagination } if (!empty($slug)) { // slug manipulation } }
希望它可以帮助某人.谢谢你们.