Codeigniter:将所有与控制器名称不匹配的请求发送到默认控制器

我正在开发一个涉及两种URL的项目,一种遵循标准CI模式
http://fancysite.com/controller/
另一个提出以下方案:
http://fancysite.com/category
我希望第二个用
category
作为参数调用默认控制器的
handlecategory
(或类似的东西)函数。 如果您还可以告诉我如何让像http://place.fancysite.com/这样的网址调用相同的函数,如果没有类别跟随该URL,则调用相同的函数只传递
place
,或者如果它没有
place
category
,则可以告诉我如何。 附加数据:我已经知道所有控制器,地点,类别的名称。     
已邀请:
您可以使用codeigniter的URI路由来实现此目的 - 将其插入路径文件的末尾 -
$route[':any'] = 'path of the default controller';
所有其他路线应放在上面的代码上方。 让我们说URL codeigniter遇到的是 - http://fancysite.com/category 首先,codeigniter将搜索是否存在名为category的控制器。 如果它没有得到那么它将检查路由文件以检查那里 任何指定的路线 -
$route['category/:any'] = 'actual path';
如果在这种情况下没有指定这样的路由,则codeigniter将传递此路由 请求您在上一行中提到的默认控制器的路径 的路线。 即使链接包含子域,请求也无关紧要 相同的默认控制器 现在,您可以插入子域处理或其他任何内容的逻辑 在默认控制器中。 您甚至可以在我们的url示例中获取参数'category' 在URL中使用codeigniters URI helper class,如下所示 -
$this->uri->segment(1);
    

要回复问题请先登录注册