任何人都知道在解析参数时防止codeigniter在斜杠上停止的方法吗?
example.com/code/master/foo/bar
其中code
和master
将是参数 1 和 2,然后其余作为参数 3。
更新:部分路由代码用斜杠分隔段,所以我认为不可能这样。我确实通过使用 uri->segments 找到了解决方法。
任何人都知道在解析参数时防止codeigniter在斜杠上停止的方法吗?
example.com/code/master/foo/bar
其中code
和master
将是参数 1 和 2,然后其余作为参数 3。
更新:部分路由代码用斜杠分隔段,所以我认为不可能这样。我确实通过使用 uri->segments 找到了解决方法。
没有办法做到这一点。根据system/libraries/Router.php
,路由器做的第一件事是根据斜杠分割请求。只有在拆分后,它才会开始使用正则表达式查看内容。
您可以尝试扩展 Router 类,但我的建议是尽可能不要使用斜杠作为参数。
在 中创建自定义路由application/config/routes.php
。
$route['code/master/(:any)'] = 'code/master/$1';
好的,我知道这已经过时了,但下面是使用 CodeIgniter 3 的方法:
// Match everything including slashes
$route['code/master/(.+)'] = 'code/master/$1';
然后在您的控制器中,您可以获得无限数量的参数,如下所示:
$trail = func_get_args();