CodeIgniter:当我调用Php中的默认控制器时,出现页面未找到的问题


CodeIgniter : page not found issue appear when i call default controller in Php?

我的控制器目录结构:

--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()",因为你没有指定要加载的方法。。。