路由Codeigniter 3中的冲突

时间:2018-11-15 11:40:31

标签: php codeigniter

我定义的路线

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

每当我尝试访问第一个路由时,它总是重定向到索引方法? 我也尝试过替换索引路由的位置。 这是我从URL调用结果路由的方式

http://localhost:8888/revam/search/results/?type=books

我们将不胜感激任何帮助。

2 个答案:

答案 0 :(得分:1)

在此之后,问号type = books被解析为查询参数而不是路由,这就是它导致建立索引方法的原因。

处理此问题的一种方法是使用类似的方法更新您的路线。

$route['search/results?(:any)'] = 'search/results/$1';
$route['search/(:any)'] = 'search/index/$1';

希望这会有所帮助。

答案 1 :(得分:1)

还有一种更简单的方法来解决此问题,因为您无需在/ search / results /之后通过使用url段来调用url,因此可以像这样构建路由:

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