早上好,
我对控制器/ 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/cp
或http://localhost/mc/cp/login
时会返回404错误,究竟问题出在哪里?将控制器移动到controllers/mc
文件夹后,文件加载没有问题..
答案 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/
仅供参考,您可以在大多数其他位置使用子子目录,特别是views
,models
和helpers
。