0

我已经使用 Codeigniter 完成了一个小项目。它在 localhost(xampp 服务器)中运行良好,但在远程服务器上载后显示“404 Page Not Found”错误。我找不到我在哪里做错了。我正在使用 MX Modular 扩展和 Codeigniter 版本 2.1.2

配置文件

$config['base_url'] = 'http://example.com/projectname';

路由.php

$route['default_controller'] = "frontend";

.htaccess(根文件夹)

    <IfModule mod_rewrite.c>
      RewriteEngine On
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule ^(.*)$ index.php/$1 [L]
    </IfModule>

应用程序 -> 模块 -> 前端 -> 控制器、模型、视图

应用程序 -> 模块 -> 管理员 -> 控制器、模型、视图

前端.php(控制器)

class Frontend extends MY_Controller{   
 function __construct(){
    parent::__construct();  
}

function index(){       
    $data['main_content'] = 'frontend';
    $this->load->view('page', $data);
} }

请帮助我摆脱这个问题。提前致谢

4

1 回答 1

0

所有模块文件夹和类的首字母必须大写。

project
---applications
-----modules
-------Somemodule
---------controller
-----------Somemodule.php
---------model
------------Mdl_somemodule.php
---------views

当您调用任何模块函数时,它应该是

Modules::run('Somemodule/somefuntion');

基本上各个方面的控制器名称和模块文件夹名称都必须以大写字母开头。

无论如何,codeigniter 3.0 都是强制性的。

如果在 LAMP (Linux) 服务器中未遵循此约定,则会引发 404 错误,尽管它在 WAMP(Windows) 服务器中工作正常。在 linux 文件名中的原因是区分大小写的。

**例如:$route['default_controller'] = "frontend";

应该

$route['default_controller'] = "前端";**

于 2015-12-28T19:10:35.963 回答