Codeigniter 路由无限参数

标签 codeigniter parameters routes uri url-routing

我目前在我的 CodeIgniter 路由文件中有这个。 它将任何具有 URI api/controller/function 的内容映射到 controller/api_function

$route['api/(:any)/(:any)/(:any)/(:any)/(:any)/(:any)'] = '$1/api_$2/$3/$4/$5/$6';
$route['api/(:any)/(:any)/(:any)/(:any)/(:any)'] = '$1/api_$2/$3/$4/$5';
$route['api/(:any)/(:any)/(:any)/(:any)'] = '$1/api_$2/$3/$4';
$route['api/(:any)/(:any)/(:any)'] = '$1/api_$2/$3';
$route['api/(:any)/(:any)'] = '$1/api_$2';

如您所见,这不是很有效。根据提供的参数数量,我需要一条不同的路线。有没有办法自动传递所有参数?所以假设,我正在寻找类似...

$route['api/(:any)/(:any)/unlimited parameters'] = '$1/api_$2/unlimited parameters';

谢谢!

最佳答案

试试这个:

$route['api/([^/]*)/([^/]*)/(.*)'] = '$1/api_$2/$3';

它基本上检查两个段(除斜杠之外的任何字符),然后将之后的任何内容作为参数附加到您的 Controller 函数。

这不会匹配具有NO 参数的路由,但如果您需要处理这种情况,这并不难。

关于Codeigniter 路由无限参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9455374/

相关文章:

r - 在 dplyr 过滤条件中混合函数和参数

JQuery,传递参数

php - Codeigniter : I am trying to submit form either if user chooses any image to upload or not choose. 这可能吗?

javascript - 根据 URL 输入动态更改文本

javascript - UI5路由不会实例化 View

asp.net - 用于多种语言的 ASP.NET 路由的正则表达式

java - Peer 2 Java 中的对等连接

codeigniter - 使用 Codeigniter 3 上传多个文件

php - Codeigniter Active Record SQL 语法错误

jquery - 如何将ajax选择的依赖下拉选项传递给codeigniter中的mysql数据库