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



我想用Codeigniter路由更改URL:

这是我的网址:

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

喜欢上面的url,但我想用路由这个url

home/BD
home/BD/123
home/BD/123+124+125 

home/BD/123/124/125

Myroute.php:

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

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

尝试在route.php上使用(.+)模式,$1将包含location值(BD(,$2将包含超过home/BD/url:的所有参数

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

(.+)模式非常有用,如果您不知道传递了多少参数,它将允许您捕获所有参数。也许您应该使用&来代替url上的+符号,因为默认情况下可能不允许使用+符号:

home/BD/123&124&125

然后你可以在控制器上分解类别:

public function search($location = '', $categories = '')
{
if (!empty($categories)) {
$categories = explode('&',$categories);
}
...
}

相关内容

  • 没有找到相关文章

最新更新