Предполагая, что вы используете XAMPP в Windows
Я бы порекомендовал вам иметь структуру папок, как показано ниже
MyCodeIgniterApp
- application
- system
- composer.json
- public
- assets
- index.php
- .htaccess
Но если вы хотите сохранить структуру папок такой же, то просто изменитепути, так как они указывают на те же файлы, что и следующий код
- Сначала измените параметры пути системы и папки приложения index.php
с
$system_path = 'system';
$application_folder = 'application';
до
$system_path = '../system';
$application_folder = '../application';
Добавьте еще один .htaccess в ваше приложение в той же папке, что и система, и приложение, это сделано для того, чтобы заблокировать доступ apache к этой папке (поскольку нам нужен только php для связи с этой папкой)
.htaccess
<IfModule authz_core_module>
Require all denied
</IfModule>
<IfModule !authz_core_module>
Deny from all
</IfModule>
Измените .htaccess в общей папке на
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
Теперь вам нужно настроить сервер Apache для обслуживания общей папки, а не htdocs. Вы можете добиться этогоизменив настройки httpd.conf с
DocumentRoot "C:/xampp/htdocs"
<Directory "C:/xampp/htdocs">
на
DocumentRoot "C:/xampp/htdocs/MyCodeIgniterApp/public"
<Directory "C:/xampp/htdocs/MyCodeIgniterApp/public">
, но при этом вы потеряете доступ к другим приложениям в папке htdocs. Чтобы избежать этого, попробуйте настроить виртуальный доменна ваше новое приложение
Перейдите в каталог установки XAMPP (обычно это C: \ xampp) и откройте файл httpd-vhosts.conf в подкаталоге apache \ conf \ extra \, используя ваш любимый текстовый редактор (как администратор), и добавьте новый виртуальный.Конфигурация хоста для httpd-vhosts.conf
httpd-vhosts.conf
<VirtualHost app.local:80>
DocumentRoot "C:/xampp/htdocs/MyCodeIgniterApp/public"
ServerName app.local
<Directory "C:/xampp/htdocs/MyCodeIgniterApp/public">
Options All
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
здесь 'app.local' - это необходимый виртуальный домен
Теперь откройтефайл 'C: \ windows \ system32 \ drivers \ etc \ hosts' от имени администратора и добавьте
127.0.0.1 app.local
Перезапустите XAMPP и попробуйте перейти на новый виртуальный домен, например
http://app.local Надеюсь, это поможет