说我想要以下URL方案,我通过设置以下URI路由来完成工作。
http://www.domain.com/profile/jimbob123
$route['profile'] = "profile/index";
$route['profile/(:any)'] = "profile/index/$1";
现在,假设我希望显示“状态”时,我希望我的网址如下所示。
http://www.domain.com/profile/jimbob123/status/908734efc
如何将“jimbob123”和“908734efc”传递给我的方法,以便查看和检索此特定记录?我尝试了以下但它似乎不起作用。
$route['user/(:any)/status/(:any)'] = "user/plan/$1/$2";
答案 0 :(得分:3)
我假设您在user/(:any)/status/(:any)
写下了profile/(:any)/status/(:any)
这可能是一个问题,也是这个问题:
路线按照声明的顺序进行匹配。如果你这样写:
$route['profile'] = "profile/index";
$route['profile/(:any)'] = "profile/index/$1";
$route['profile/(:any)/status/(:any)'] = "user/plan/$1/$2";
它无法正常工作,因为“http://www.domain.com/profile/jimbob123/status/908734efc”与第二条路线匹配。
如果换掉第二行和第三行,你应该很好。
$route['profile'] = "profile/index";
$route['profile/(:any)/status/(:any)'] = "user/plan/$1/$2";
$route['profile/(:any)'] = "profile/index/$1";