Php CodeIgniter URL函数段作为查询字符串
在不改变CodeIgniter的整个配置的情况下,有没有办法将函数的URI段(Php CodeIgniter URL函数段作为查询字符串,php,codeigniter,uri,segment,url-mapping,Php,Codeigniter,Uri,Segment,Url Mapping,在不改变CodeIgniter的整个配置的情况下,有没有办法将函数的URI段($this->URI->segment(2))作为常规查询字符串而不是直接映射到函数 例如,我将被迫使用如下URL: http://localhost/books/functionName/bookNumber 我希望在控制器名称(图书)后面有图书编号: http://localhost/books/bookNumber如果我有这样的URL,它会将书号映射到函数名。您可以使用CodeIgniter实现所需的URL格式
$this->URI->segment(2)
)作为常规查询字符串而不是直接映射到函数
例如,我将被迫使用如下URL:
http://localhost/books/functionName/bookNumber
我希望在控制器名称(图书)后面有图书编号:
http://localhost/books/bookNumber
如果我有这样的URL,它会将书号映射到函数名。您可以使用CodeIgniter实现所需的URL格式
如果将以下路由添加到application/config/routes.php
,则输入的与左侧路由匹配的任何URL都将映射到右侧的控制器/函数:
$route['books/(:num)'] = "books/functionName/$1";
这将映射一个URL,如http://localhost/books/123
,到书籍
控制器中的函数名
函数,将123
作为参数传递
这假设您的“图书编号”始终是数字(它不适用于字符串),因为
(:num)
将只匹配包含数字的片段。没问题@polymorph!如果你觉得答案有用,请考虑接受。是否要将查询字符串传递给函数?如果是,请向函数添加第二个参数并添加此路由:$route['welcome/(:num)/(:any)']=“welcome/functionName/$1/$2”代码>在答案中的一个之后。我在文档中找到了它,非常感谢您的回答。