我想用 Codeigniter 路由更改 URL:这是我的网址:home/search?location=BDhome/search?location=BD&category[]=123home/search?location=BD&category[]=123&category[]=124&category[]=125像上面的网址,但我想用home/BDhome/BD/123home/BD/123+124+125 或者home/BD/123/124/125我的route.php:$route['home/(:any)/(:any)'] = 'home/search/$1';我的route.php页面有什么问题?
1 回答
白衣非少年
TA贡献1155条经验 获得超0个赞
尝试(.+)在您的 上使用一个模式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);
}
...
}
- 1 回答
- 0 关注
- 82 浏览
添加回答
举报
0/150
提交
取消