繁体   English   中英

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

[英]Error 404: Page not found in codeigniter when controller is in subfolder

我的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可以正常工作。

任何想法?

我不认为CodeIgniter默认允许将控制器组织到子文件夹中。 子文件夹是……比这更深,您会遇到问题。 有一些解决方案(更好或更糟)可以使用此功能。 快速的Google搜索可以发现:

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

还有这个:

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

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

Codeigniter 3模型和控制器的命名方式与文件中的命名方式相同。示例:如果是山羊类,则文件应为Goat.php。

在两种情况下都不能这样做,具体取决于您的codeigniter版本...将导致未找到错误

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM