我正在构建我的第一个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
- }
- }
希望它可以帮助某人.谢谢你们.