[英]Removing controller function name from URL in Codeigniter. Error when multiple controller
Using CI how can I route to specific contoller with any method name. 使用CI如何使用任何方法名称路由到特定的控制器。 I have two controller : init and cms. 我有两个控制器:init和cms。 Then in config.routes.php : 然后在config.routes.php中:
$default_controller = "init"; //default controller
$controller_exceptions = array('admin','forums');
$route['default_controller'] = $default_controller;
$route["^((?!\b".implode('\b|\b', $controller_exceptions)."\b).*)$"] = $default_controller.'/$1';
$route['404_override'] = '';
$route['backend'] = 'cms';
$route['backend/(:any)'] = "cms/product";
When backend/product is typed I want it to route to backend/product. 键入后端/产品时,我希望它路由到后端/产品。 Again when backend/login is typed I want it to route to backend/login. 同样,当键入后端/登录时,我希望它路由到后端/登录。 That means what I need is $route['backend/anyMethodNameAfterbackend'] = "cms/anyMethodNameAfterbackend";
这意味着我需要的是$route['backend/anyMethodNameAfterbackend'] = "cms/anyMethodNameAfterbackend";
Instead of $route['backend/(:any)'] = "cms/product";
而不是$route['backend/(:any)'] = "cms/product";
use $route['cms/(:any)'] = "cms/$1";
使用$route['cms/(:any)'] = "cms/$1";
The result would be : 结果将是:
$route['backend'] = 'cms';
$route['backend/(:any)'] = "cms/$1";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.