0

我正在使用 CodeIgniter。这是我的路由文件

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

在哪里

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

现在,这是默认控制器。当我需要打开其他页面而不是“主页”时,我会从视图内部进行如下操作

href="<?php echo base_url('products');?>

现在我想问的是,如果我创建一个新的控制器,我该如何使用该控制器的功能?因为我只是将第三个参数传递给 base_url() 函数。

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

页/视图

我尝试创建一个新控制器,但无法使用它。我的新控制器名为 new_controller,它有一个函数调用 new_function()

我写了 $route 如下

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

4

2 回答 2

1

如果您拿走您在那里放置的 (:any) 路线,您不必担心路线。我认为这会阻止所有其他控制器被加载。

如果您有一个名为“Stuff”的控制器

在你的 URL 中当你有 mysite.com/stuff/foo/param 代码点火器应该绕过默认的“页面”控制器并使用

我认为你最好做这样的事情

$route['page/(:any)'] = "page/view/$1";

并将您的默认设置更改为仅“页面”

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

于 2012-08-15T14:04:37.743 回答
0

在 CodeIgniter 中,路由是按行评估的,所以首先你有默认路由,然后你放置新路由 $route['pages/view/product'],如果你想保留 (:any) 路由,这样,您就可以将例外路线放在 (:any) 路线之前。

于 2012-08-15T14:09:10.173 回答