2012-02-23 133 views
1

我想创建一个路由器,它将采取一个动态值并将其转发给实际路由。在正常的情况下它会像Codeigniter路由接受动态值

$route['login'] = 'auth/login'; 

有可能赶上login之前的参数在上面的参数,并传递给作为第一个参数的实际路线

$route['^(.+)/login$'] = "$1/user/login"; 

回答

0

退房文档[docs]。有一个非常简单的方法来做到这一点。

$route['(:any)/login'] = '$1/auth/login'; 
0

Starx的答案是正确的,但我不会那样做,因为你的第一个参数将是你的控制器,而如果你不知道什么是在动态值这是不可能的管理。

我会做:

$route['(:any)/login'] = 'user/login/$1'; 

这样一来,“什么/登录”将被重定向到您的用户控制器,与参数“什么”登录功能。

+0

虽然你的想法是对的,但是当他问及案例和他的问题时,我假设他可能正在开发一些门户类的东西,他会动态地获取控制器并登录到它,他使用不管我有没有想到,我真的很喜欢它。 – Junaid 2012-02-28 10:27:27

+0

@Junaid,是对的,starx的答案是正确的。 – mrN 2012-03-18 10:18:27