Как заставить Codeigniter 3 использовать корневой каталог проекта вместо ссылки на полный путь к файлу на локальном хосте для ключевых папок - PullRequest
0 голосов
/ 20 сентября 2018

Я осмотрелся и уверен, что это часто встречается, но, похоже, не могу получить правильный ответ.

Я только недавно создал проект Codeigniter 3 на моем локальном хосте и перенес егонекоторый код Codeigniter 2.

Файл index.php немного отличается.

Я могу запустить и запустить проект, кроме ссылок на основные папки в файле index.php, таких как APPLICATION идругие, которые я добавил как «АКТИВЫ» и т. д. загружаются так:

 <link href="http://[::1]/projectOne/E:\public_html\projectOne\assets\css\style.php?1537317115" rel="stylesheet" type="text/css" >

Даже когда я установил base_url:

  <link href="http://localhost/projectOne/E:\public_html\projectOne\assets\css\style.php?1537317115" rel="stylesheet" type="text/css" >

Я проверил, что это не простопапки, которые я добавил, выводя переменную APPPATH:

define('APPPATH', $application_folder.DIRECTORY_SEPARATOR);
echo APPPATH;

, которая выдает:

E:\public_html\projectOne\application\

Что мне здесь не хватает?

Как мне получить пути кпапка, заданная в index.php, чтобы использовать только корневой каталог проекта, а не весь путь к файлу на компьютере?

1 Ответ

0 голосов
/ 21 сентября 2018

Разобрался.Для всех, кто столкнулся с этой проблемой.

Эта новая часть в CI3:

if (($_temp = realpath($application_folder)) !== FALSE)
    {
        $application_folder = $_temp;
    }

Позволяет более безопасно / легко размещать папку приложения вне корня сайта.

Моя дополнительная папка ASSETS тогда показывала полный веб-путь, который вам явно не нужен.

Поэтому, комментируя эту часть, оставляем только:

$application_folder = strtr(
            rtrim($application_folder, '/\\'),
            '/\\',
            DIRECTORY_SEPARATOR.DIRECTORY_SEPARATOR
        );

И затем устанавливаем значение base_urlв файле config.php дает вашим CSS, JS и ИЗОБРАЖЕНИЯМ правильные относительные пути к сайту.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...