带斜线的CodeIgniter路由

带斜线的CodeIgniter路由,codeigniter,Codeigniter,有人知道在解析参数时防止codeigniter在斜线上停止的方法吗 example.com/code/master/foo/bar 其中,code和master将是参数1和2,其余的作为参数3 更新:部分路由代码用斜杠分隔段,因此我认为不可能采用这种方式。我确实通过使用uri->segments找到了解决方法。在application/config/routes.php中创建自定义路由 $route['code/master/(:any)'] = 'code/master/$1'; 没有办法做

有人知道在解析参数时防止codeigniter在斜线上停止的方法吗

example.com/code/master/foo/bar

其中,
code
master
将是参数1和2,其余的作为参数3


更新:部分路由代码用斜杠分隔段,因此我认为不可能采用这种方式。我确实通过使用uri->segments找到了解决方法。

application/config/routes.php
中创建自定义路由

$route['code/master/(:any)'] = 'code/master/$1';

没有办法做到这一点。根据
system/libraries/Router.php
,路由器要做的第一件事就是根据斜杠分割请求。只有在分割之后,它才开始使用正则表达式查看内容


您可以尝试扩展Router类,但我的建议是尽可能不要对参数使用斜杠。

好的,我知道这已经过时了,但下面是使用CodeIgniter 3的方法:

// Match everything including slashes
$route['code/master/(.+)'] = 'code/master/$1';
然后在控制器中,您可以获得无限数量的参数,如下所示:

$trail = func_get_args();

这行不通,一旦它碰到第一个斜杠,它就会停止,只给我foo作为参数。