我正在使用CodeIgniter。这是我的路由文件
$route['default_controller'] = 'pages/view/home';
$route['(:any)'] = 'pages/view/$1';
,其中
pages是控制器类,view是它的函数,home是该函数的参数。
现在,这是默认控制器。当我需要打开另一个页面而不是“主页”时,我会在视图中执行以下操作
href="<?php echo base_url('products');?>
现在我要问的是,如果我创建一个新的控制器,我该如何使用该控制器的功能?因为我只将第三个参数传递给base_url()函数。
显然我觉得我要写$ route,但是怎么样?因为所有流量都传递给
页/图
我尝试创建一个新的控制器但无法使用它。我的新控制器名为new_controller,它有一个函数调用new_function()
我写了$ route如下
$ route ['pages / view / product'] ='new_controller / new_function';
答案 0 :(得分:1)
如果你带走了那里的(:any)路线,你不必担心路线。我认为这阻止了所有其他控制器的加载。
如果您有一个名为“Stuff”的控制器
当您拥有mysite.com/stuff/foo/param时,在您的URL中Code Igniter应绕过默认的“page”控制器并使用
我认为你做这样的事情会更好
$route['page/(:any)'] = "page/view/$1";
并将默认设置更改为“网页”
这会打开你的新控制器,以正常的codeigniter方式使用
答案 1 :(得分:0)
在CodeIgniter中,路由按行评估,所以首先你有默认路由,然后你可以放置新路由,$ route ['pages / view / product'],如果你想保留(:any)路由,并且通过这种方式,您可以将特殊路由放在(:any)路由之前。