Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 正在从Codeigniter中的URL中删除控制器函数名。多控制器时出错_Php_Codeigniter_Url_Routing_Config - Fatal编程技术网

Php 正在从Codeigniter中的URL中删除控制器函数名。多控制器时出错

Php 正在从Codeigniter中的URL中删除控制器函数名。多控制器时出错,php,codeigniter,url,routing,config,Php,Codeigniter,Url,Routing,Config,使用CI如何路由到具有任何方法名称的特定控制器。 我有两个控制器:init和cms。然后在config.routes.php中: $default_controller = "init"; //default controller $controller_exceptions = array('admin','forums'); $route['default_controller'] = $default_controller; $route["^((?!\b".implode('

使用CI如何路由到具有任何方法名称的特定控制器。 我有两个控制器:init和cms。然后在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";  

当输入backend/product时,我希望它路由到backend/product。同样,当输入backend/login时,我希望它路由到backend/login。这意味着我需要的是
$route['backend/anymethodnameaterbackend']=“cms/anymethodnameaterbackend”

而不是
$route['backend/(:any)]=“cms/产品”使用
$route['cms/(:any)]=“cms/$1”
结果将是:

$route['backend'] = 'cms';
$route['backend/(:any)'] = "cms/$1";

它不起作用。我也这么做了。登录到我的站点的实际路径是<代码>localhost/c2c/index.php/cms。这有一个带有操作的登录表单
form_open('cms/login')。我键入localhost/c2c/backend,然后页面打开,但尝试登录时抛出404错误。然后,尝试
form\u open(base\u url().'cms/login')
form\u open('/cms/login')
。仍然不起作用。当尝试登录时。按login,然后我的url变成
localhost/c2c/cms/login
而不是
localhost/c2c/backend/login
,这是相同的。您还有另一个问题,与路由无关。如果将
'/cms/login'
更改为
'/backend/login'
,uri将是正确的,但页面将显示相同的错误。你的cms控制器是什么样子的?cms控制器很简单,它包含很多功能。我记得我正在通过配置htaccess删除要写入url的控件名。这会造成问题吗