Модульное расширение 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'] = "Внешний интерфейс";**