Модульное расширение HMVC не работает на удаленном сервере

Я сделал небольшой проект с использованием Codeigniter. На localhost(сервер xampp) он работал нормально, но после загрузки на удаленный сервер появляется сообщение об ошибке "Страница 404 не найдена". Я не могу найти, где я сделал ошибку. Я использую MX Модульное расширение и Codeigniter версии 2.1.2

config.php

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

route.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>

Приложение -> Модули -> Frontend -> контроллеры, модели, виды

Приложение -> Модули -> Админ -> контроллеры, модели, виды

frontend.php (контроллер)

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

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

Пожалуйста, помогите мне выйти из этой проблемы. заранее спасибо

1 ответ

У всех папок и классов модулей должна быть прописная буква.

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'] = "Внешний интерфейс";**

Другие вопросы по тегам