在 codeigniter 中更改搜索项 url 和路由

我想用 Codeigniter 路由更改 URL:


这是我的网址:


home/search?location=BD


home/search?location=BD&category[]=123


home/search?location=BD&category[]=123&category[]=124&category[]=125

像上面的网址,但我想用


home/BD


home/BD/123


home/BD/123+124+125 

或者


home/BD/123/124/125

我的route.php:


$route['home/(:any)/(:any)'] = 'home/search/$1';

我的route.php页面有什么问题?


婷婷同学_
浏览 83回答 1
1回答

白衣非少年

尝试(.+)在您的 上使用一个模式route.php,$1它将包含location值 ( BD) 并且将包含通过url $2的每个参数:home/BD/$route['home/(:any)/(.+)'] = 'home/search/$1/$2';(.+)如果您不知道传递了多少参数,该模式很有用,它可以让您捕获所有参数。也许您应该使用&代替+您网址上的标志,因为+默认情况下可能不允许使用该标志:home/BD/123&124&125然后你可以分解控制器上的类别:public function search($location = '', $categories = ''){    if (!empty($categories)) {        $categories = explode('&',$categories);    }    ...}
打开App,查看更多内容
随时随地看视频慕课网APP