无法加载子文件夹中的控制器

时间:2013-03-10 08:59:00

标签: php codeigniter codeigniter-routing

早上好,

我对控制器/ uri和子文件夹非常麻烦,目录如下所示:

application/
     controllers/
         d2/
         mc/
             cp/
             --- login.php
     ...

routes.php是:

$route["cp"] = "mc/cp/login/login_form";
$route["cp/login"] = "mc/cp/login/login_form";

login.php是:

class Login extends CI_Controller {
    public function login_form() {
        echo "hey!";
    }
}

在日志文件中,我可以看到:

ERROR - 10/03/2013, 09:45:00 --> 404 Page Not Found --> mc/cp 

但是,当我尝试输入http://localhost/mc/cphttp://localhost/mc/cp/login时会返回404错误,究竟问题出在哪里?将控制器移动到controllers/mc文件夹后,文件加载没有问题..

2 个答案:

答案 0 :(得分:1)

我发现了问题。仔细阅读user guide,我发现我没有读好如何处理控制器的子目录:

  

只需在应用程序/控制器目录中创建文件夹,并将控制器类放在其中。

它不能是目录的子目录,而是直接目录,如下所示:

application/
    controllers/
        d2/
        mc/
        cp/
        --- login.php
    ...

答案 1 :(得分:0)

这显然是我在另一篇文章的链接中找到的解决方法,虽然我没有尝试过。

http://glennpratama.wordpress.com/2009/10/20/multi-level-subfolder-for-controller-in-codeigniter/

仅供参考,您可以在大多数其他位置使用子子目录,特别是viewsmodelshelpers