Php 更改codeigniter中的搜索项url和路由
我想使用Codeigniter路由更改URL: 这是我的网址:Php 更改codeigniter中的搜索项url和路由,php,codeigniter,url,routing,Php,Codeigniter,Url,Routing,我想使用Codeigniter路由更改URL: 这是我的网址: home/search?location=BD home/search?location=BD&category[]=123 home/search?location=BD&category[]=123&category[]=124&category[]=125 喜欢上面的url,但我想用 home/BD home/BD/123 home/BD/123+124+125 或 home/BD
home/search?location=BD
home/search?location=BD&category[]=123
home/search?location=BD&category[]=123&category[]=124&category[]=125
喜欢上面的url,但我想用
home/BD
home/BD/123
home/BD/123+124+125
或
home/BD/123/124/125
My route.php:
route.php
页面中我的问题是什么?尝试在路由上使用(.+)
模式。php
,$1
将包含位置值(BD
),而$2
将包含超过主页/BD//code>url的所有参数:
$route['home/(:any)/(.+)']='home/search/$1/$2';
(.+)
模式非常有用,如果您不知道传递了多少参数,它将允许您捕获所有参数。也许您应该使用&
来代替url上的+
符号,因为默认情况下可能不允许使用+
符号:
home/BD/123&124&125
然后可以分解控制器上的类别:
公共函数搜索($location='',$categories='')
{
如果(!空($categories)){
$categories=分解(“&”,$categories);
}
...
}
home/BD/123&124&125