Ответ 1
Чтобы ответить на мой собственный вопрос: решение было в файле MY_Loader.php. Изменив переменную SPARKPATH в строке 43, можно перенаправить местоположение всех искр! Ура!
Установка Sparks предполагает, что вы соблюдаете шаблон установки CodeIgniter по умолчанию; извлекая папки приложений, системы и руководства пользователя вместе с index.php и файл лицензии в ваш веб-корень.
Однако многие из нас вытаскивают приложение и системные папки из корня веб-сайта из соображений безопасности и перенаправляют переменные $system_path и $application_folder в основной файл index.php.
Это разделение стремится сломать установки Spark. В частности, простой пример-искра, используемая в устанавливает инструкции по установке.
Получение ошибки:
Обнаружена ошибка Не удается найти искровой путь в искр/например, искра /1.0.0/
Я поддерживаю следующую структуру каталогов:
Что я должен перенаправить для обеспечения безопасности + искры? Открыта для любых предложений. Как настроить свою установку?
Чтобы ответить на мой собственный вопрос: решение было в файле MY_Loader.php. Изменив переменную SPARKPATH в строке 43, можно перенаправить местоположение всех искр! Ура!
Что я делаю:
У меня есть следующая структура каталогов:
- project_name
- application
- public
- index.php
- js
- css
- img
- compressed_assets
- etc
- sparks
- system
- tmp
- tools
Мой Apache DocumentRoot является... /project _name/public
Таким образом, Apache просто обслуживает публичные активы и index.php(который является шлюзом для CodeIgniter).
Мне не нужно ничего скрывать с помощью .htaccess и я, если я ошибочно удалю .htaccess там никаких открытых данных.
Я даже мог поставить папку css и js на один уровень вниз (но я не потому, что я обслуживаю несжатые ресурсы в некоторых средах (в первую очередь, разработка)).
В теме:
index.php обычно определяет пути системы и приложения с относительным путем, следующим за
$system_path = 'system'; //index.php line 82
$system_path = 'system'; //index.php line 97
Но я предпочитаю использовать абсолютные пути, поэтому у меня есть это:
define('ROOTPATH', dirname(dirname(__FILE__)));
$system_path = ROOTPATH.'/system';
$application_folder = ROOTPATH.'/application';
И внутри константы .php
define('SPARKPATH',ROOTPATH .'/sparks/');
PS: просто заметите, что путь искры не соответствует соглашению CI и имеет завершающую косую черту.