CI路线冲突

时间:2017-10-13 06:46:24

标签: php codeigniter url routes

我很难弄清楚如何为这种情况制定路线:http://wwww.domain.com/category-slug/product-slug我认为这很容易,我会在route.php

中快速添加这一行

$route['([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)'] = "products/show";

但是,这也是在http://wwww.domain.com/admin/dashboard之类的每个页面上重定向我等等,但我明确地只想用于我的产品。如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

那是因为第二个匹配admin中的第一个分段dashboard[a-zA-Z0-9-]+,并重新映射到products类/控制器和show方法/功能

如果您可以创建类似于某种内容的网址

products/category-slug/product-slug

然后,如果您设置如下路线

$route['products/([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)'] = 'products/show/$1/$2';

答案 1 :(得分:0)

我认为你需要使用这样的东西

$route['products/(:any)/(:any)'] = 'Product_controller/product_function/$1/$2'

在你的功能中你可以有这样的东西

public function product_function(cat_slug, pro_slug){
     //Some code here
}