Php codeigniter路由函数

Php codeigniter路由函数,php,codeigniter,Php,Codeigniter,我在路由方面有一个小问题 我的路线: $route['category/(:any)/(:num)'] = "site/index/$2"; //not working $route['category/(:any)'] = "site/index"; //not working $route['category/(:any)/(:any)'] = "site/view/$2"; // working $route['Search'] = "site/search"; // working 我

我在路由方面有一个小问题

我的路线:

$route['category/(:any)/(:num)'] = "site/index/$2"; //not working
$route['category/(:any)'] = "site/index"; //not working
$route['category/(:any)/(:any)'] = "site/view/$2"; // working
$route['Search'] = "site/search"; // working
我想要的:-调用站点/索引函数 使用参数$2调用站点/索引函数 我在这两条规则上犯了404个错误

我尝试的是回显category/(:any)/(:num)的参数,它回显了它。此回音位于索引函数内。视图和模型存在于我声明的路径中。没有它,索引页本身就无法工作。所以我认为问题应该出在路线上


最有趣的是,当我将category/(:any)路由更改为site/view时,它正在工作,但当我在那里设置site/index时,它就不工作了。即使我只在那里设置了站点。

我认为您要做的是将您的
站点
类设置为“默认控制器”。试试这个:

$route['default_controller'] = "site";
$route['(:any)'] = "site/view/$1";
$route['(:num)'] = "site/index/$1";
我真的不知道你想用你的
站点/视图/$1
站点/索引/$1
做什么,它会这样工作:

example.com/someaction
将匹配
$route['(:any)]
并将调用
站点
控制器的
视图
方法,其中
someaction
作为字符串参数

example.com/2
将匹配
$route['(:num)]
并使用
2
作为整数参数调用
站点
控制器的
索引
操作

example.com/admin
将调用
admin
控制器的
index
操作


example.com/admin/category
将调用
admin
控制器的
category
操作

删除路由并重试。它应该自动路由到正确的操作。如前所述,默认行为是
example.com/class/function/id/
。我试图删除路由并再次添加,但没有任何结果。如果路线不在那里,则调用站点/视图功能OK。。。我知道你有什么问题其实你所有的路线都很奇怪。ie:
$route['(:any)]
将指向站点。这意味着,无论您键入什么,您都将进入
站点
。这是大量重复的内容。是的,你的路线是各种各样的混乱,我甚至不知道从哪里开始。我从一开始就路由它。这样做不行,因为站点/index/$1用于分页,每个类别都有自己的文章数。现在我只有一条规则
$route['category/(:any)]=“site/index”进入example.com/category/Home后,我得到404。我很困惑。。编辑:如果我将规则设置为“站点/视图”,它将传递给我查看功能,但如果我想要索引功能,它将不允许我使用。这是因为您忘记了参数:
$route['category/(:any)]=“site/index/$1”。尝试读取更多的文档。索引函数不需要参数,我也尝试了这个,但它也不起作用。再试一次,以防万一现在仍然不起作用。更详细地阅读文档。如果您愿意,您可以尝试准确地解释您在问题中期望的行为(哪个uri应该指向哪个方法,…)