当我在Php中调用默认控制器时,CodeIgniter:找不到页面问题?

时间:2016-05-11 07:46:58

标签: php codeigniter

我的控制器目录的结构:

--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

3 个答案:

答案 0 :(得分:0)

请尝试:在底部移动默认控制器

$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";

答案 1 :(得分:0)

Codeigniter不允许default controller位于子目录中。 您必须将其重写为

$route['default_controller'] = "user_controller";

并将其直接放在controller文件夹

您可以参考this thread来避免这种情况。但我没有测试过它。

最好避免核心功能,因为它可能会影响更新。

答案 2 :(得分:0)

我没有对此进行过测试,但您可以使用它来绕过子文件夹吗?

$route['frontend'] = 'frontend/user_controller';
$route['default_controller'] = 'frontend';

虽然你没有指定要加载的方法,但需要确保那里有'公共函数索引()'...