我的控制器目录结构:
--Controller
--frontend
--user_controller
当我呼叫默认控制器时,它说404 page not found
我设定的路线:
$route['default_controller'] = "frontend/user_controller";
$route['admin_panel/site'] = "site";
$route['admin_panel'] = "backend/admin_controller/dashboard";
$route['admin_panel/login'] = "backend/admin_controller/index";
$route['admin_panel/(:any)'] = "backend/admin_controller/$1";
$route['admin_panel/(:any)/(.*)'] = "backend/admin_controller/$1/$2";
当我运行http://localhost/example/frontend/user_controller
时,它就工作了。
所以,但没有工作这个网址:http://localhost/example
请尝试:移动底部的默认控制器
$route['admin_panel/site'] = "site";
$route['admin_panel'] = "backend/admin_controller/dashboard";
$route['admin_panel/login'] = "backend/admin_controller/index";
$route['admin_panel/(:any)'] = "backend/admin_controller/$1";
$route['admin_panel/(:any)/(.*)'] = "backend/admin_controller/$1/$2";
$route['default_controller'] = "frontend/user_controller";
Codeigniter
将不允许default controller
位于子目录中。你必须把它重写为
$route['default_controller'] = "user_controller";
并将其直接放在controller
文件夹中
您可以引用此线程来避免这种情况。但我没有测试。
最好避免核心功能,因为它可能会影响更新
我还没有测试过这个,但你可能会用它来绕过子文件夹?
$route['frontend'] = 'frontend/user_controller';
$route['default_controller'] = 'frontend';
需要确保其中有一个"public function index()",因为你没有指定要加载的方法。。。