Php 使用任何其他控制器类而不是默认控制器类

Php 使用任何其他控制器类而不是默认控制器类,php,codeigniter,codeigniter-routing,Php,Codeigniter,Codeigniter Routing,我正在与CodeIgniter合作。这是我的路由文件 $route['default_controller'] = 'pages/view/home'; $route['(:any)'] = 'pages/view/$1'; 在哪里 pages是控制器类,view是它的一个函数,home是该函数的一个参数 现在,这是默认控制器。当我需要打开其他页面而不是“主页”时,我在视图中按如下方式操作 href="<?php echo base_url('products');?&g

我正在与CodeIgniter合作。这是我的路由文件

    $route['default_controller'] = 'pages/view/home';
    $route['(:any)'] = 'pages/view/$1';
在哪里

pages是控制器类,view是它的一个函数,home是该函数的一个参数

现在,这是默认控制器。当我需要打开其他页面而不是“主页”时,我在视图中按如下方式操作

href="<?php echo base_url('products');?>
href=”
现在我想问的是,如果我创建一个新的控制器,我如何使用该控制器的函数?因为我只将第三个参数传递给base_url()函数

显然,我想我得写$routes,但是怎么写呢?因为所有的流量都传递给了

页面/视图

我尝试创建一个新控制器,但无法使用它。我的新控制器名为new\u controller,它有一个函数名为new\u function()

我写了$route如下

$route['pages/view/product']='new_controller/new_function'


如果你把你放在那里的(:any)路径拿走,你就不必担心路由问题。我认为这会阻止所有其他控制器加载

如果你有一个叫做“东西”的控制器

在您的URL中,当您拥有mysite.com/stuff/foo/param代码时,Igniter应该绕过默认的“页面”控制器并使用

我想你最好做这样的事

$route['page/(:any)'] = "page/view/$1";
并将默认设置更改为仅“页面”


这将打开您的新控制器,以正常的codeigniter方式使用

在codeigniter中,路由按行计算,因此首先您有默认路由,然后您应该放置新路由,$route['pages/view/product'],如果您想保留(:any)路由,并使用此选项,将异常路由放置在(:any)路由之前