在 codeigniter 中更改搜索项 url 和路由
change search item url and routing in codeigniter
我想用 Codeigniter 路由更改 URL:
这是我的 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
我的route.php:
$route['home/(:any)/(:any)'] = 'home/search/';
我的 route.php
页面有什么问题?
尝试在 route.php
上使用 (.+)
模式,</code> 将包含 <code>location
值 (BD
) 和 </code> 将包含 <code>home/BD/
url :
之后的每个参数
$route['home/(:any)/(.+)'] = 'home/search//';
如果您不知道传递了多少参数,(.+)
模式很有用,它可以让您捕获所有参数。也许您应该使用 &
代替 url 上的 +
符号,因为默认情况下可能不允许使用 +
符号:
home/BD/123&124&125
然后你可以在控制器上展开类别:
public function search($location = '', $categories = '')
{
if (!empty($categories)) {
$categories = explode('&',$categories);
}
...
}
我想用 Codeigniter 路由更改 URL:
这是我的 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
我的route.php:
$route['home/(:any)/(:any)'] = 'home/search/';
我的 route.php
页面有什么问题?
尝试在 route.php
上使用 (.+)
模式,</code> 将包含 <code>location
值 (BD
) 和 </code> 将包含 <code>home/BD/
url :
$route['home/(:any)/(.+)'] = 'home/search//';
如果您不知道传递了多少参数,(.+)
模式很有用,它可以让您捕获所有参数。也许您应该使用 &
代替 url 上的 +
符号,因为默认情况下可能不允许使用 +
符号:
home/BD/123&124&125
然后你可以在控制器上展开类别:
public function search($location = '', $categories = '')
{
if (!empty($categories)) {
$categories = explode('&',$categories);
}
...
}