我正在使用Codeigniter 2.0.1 . 当我打电话的时候..
http://localhost/index.php/admin/login ./controllers/admin/login.php
它工作正常,但当我用admin目录中的文件夹调用下面的url时,它会抛出404错误 .
http://localhost/index.php/admin/new_dir/dashboard ./controllers/admin/new_dir/dashboard.php
我的控制器被正确放置和命名 . 有谁知道为什么会发生这种情况,或者控制器只能是控制器目录中的一个目录?
谢谢
2 回答
不幸的是,Codeigniter中只能有一个级别的子目录 . 仅将第一个URI段检查为可能的目录 .
您是否希望有一个额外的子目录以保持整洁,或者这是为了您的URI的利益?如果是后者,您可以使用路由模拟额外子目录的行为 .
Yes it is possible to have subfolders in application/controller.
routes.php:$ route ['default_controller'] =“default_page”;
将* default_page.php *添加到每个子文件夹和控制器文件夹本身,而不是重定向到您需要用作该文件夹默认值的实际控制器,例如:
缺点:对于包含几乎相同代码的每个文件夹和子文件夹,您有类似的文件 . 假设您有一个包含许多文件夹的大型项目,这将很难维护(此时使用HMVC会更好) . 我希望有人有更好的解决方案,但至少这是有效的 .