0

任何人都知道在解析参数时防止codeigniter在斜杠上停止的方法吗?

example.com/code/master/foo/bar

其中codemaster将是参数 1 和 2,然后其余作为参数 3。

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

4

3 回答 3

1

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

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

于 2013-10-08T19:19:08.083 回答
0

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

$route['code/master/(:any)'] = 'code/master/$1';
于 2013-09-24T18:27:23.200 回答
0

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

// Match everything including slashes
$route['code/master/(.+)'] = 'code/master/$1';

然后在您的控制器中,您可以获得无限数量的参数,如下所示:

$trail = func_get_args();
于 2018-04-27T08:40:20.663 回答