错误404:当控制器在子文件夹中时,在codeigniter中找不到页面

时间:2014-03-17 19:24:21

标签: php codeigniter controller

我的CI项目中的某些控制器无法正常工作。以下是目录结构:

controllers/student/profile/personal.php

当我使用URL调用它时: localhost / school / student / profile / personal 然后显示404错误。

personal.php文件的内容:

class Personal extends CI_Controller {

    public function index() {
        echo "The is Personal Section";
    }
}

.htaccess文件的内容为:

RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L,QSA,PT] 

我不知道为什么它不起作用。还有其他控制器,如 controllers / student / login.php 正常工作。

任何想法?

2 个答案:

答案 0 :(得分:1)

我不相信CodeIgniter默认允许将控制器组织到子子文件夹中。子文件夹是...比那更深,你遇到了问题。有一些解决方案(更好或更差)允许此功能。快速谷歌搜索可以解决这个问题:

https://degreesofzero.com/article/controllers-in-sub-sub-folders-in-codeigniter.html

还有:

http://ellislab.com/forums/viewthread/190563/

答案 1 :(得分:0)

版本3之前的Codeigniter模型和控制器以小型大写字母命名,文件中的类名称以Capital首字母命名 例如,如果它是类山羊,文件应该是 goat.php

Codeigniter 3模型和控制器的命名就像它们用文件调用它们的方式一样如果它是类山羊,文件应该是 Goat.php

在任何一种情况下都无法执行此操作,具体取决于您的codeigniter版本...将导致未找到错误