Как использовать HMVC для Codeigniter 2.1.* При перемещении index.php?

Я пытаюсь создать приложение CodeIgniter с моим index.php внутри "публичной" папки /Applications/MAMP/htdocs/public/ в корне сайта. Я настроил свои vhosts и т. Д., Чтобы они указывали на этот файл index.php. Я хотел пойти на модульный подход и в итоге использовал модульные расширения - HMVC. Я поместил файлы ядра и файлы сторонних производителей в соответствующие папки и создал папку модулей в папке приложения. Затем я приступил к созданию модуля "login" внутри папки модулей с необходимыми "controllers/login.php", "models" и "views".

class Login extends MX_Controller{
    public function index()
    {
        log_message('error','reached module');
    }
}

Теперь, когда я пытаюсь загрузить http://localhost/login Я получаю журнал ошибок в apache_error.log, говорящий

File does not exist: /Applications/MAMP/htdocs/public/login

http://localhost отлично работает, отображая экран приветствия CodeIgniter gniter

Это структура пути:

application/modules
└── login
    ├── config
    │   └── routes.php
    ├── controllers
    │   └── login.php
    └── views
        └── login.view.php

Содержимое модулей /login/config/rout.php

<?php
$route['login'] = 'login';

Конфигурация httpd-vhosts:

<VirtualHost *:80>
    DocumentRoot "/Applications/MAMP/htdocs/public"
    SetEnv APP_ENV development

    <Directory "/Applications/MAMP/htdocs/public">
        Options Indexes FollowSymLinks Includes execCGI
        AllowOverride All
        Order Allow,Deny
        Allow From All
    </Directory>
</VirtualHost>

1 ответ

Мне наконец удалось заставить мой код работать. Написал небольшое руководство по настройке. Вы можете отослать это здесь

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