Codeigniter 4 не загружает CSS

avatar
Holger
9 августа 2021 в 01:12
188
2
0

CSS не загружается в Codeigniter 4. Мой файл CSS находится в папке /public/assets/css/app.css

Я включаю это так:

<link rel="stylesheet" href="<?=base_url();?>/assets/css/app.css"/>

Я настроил свой файл .env следующим образом:

app.baseURL = 'http://localhost/[project_name]/'

.htaccess (файл Codeigniter по умолчанию)

DirectoryIndex /public/index.php
RewriteEngine on
RewriteCond $1 !^(index\.php|images|assets|css|js|robots\.txt|favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./public/index.php/$1 [L,QSA]

Браузер пытается загрузить файл http://localhost/[project_name]/assets/css/app.css, но не удается загрузить его.

Что я делаю неправильно?

Источник
TimBrownlaw
9 августа 2021 в 04:35
0

Как на самом деле называется ваш проект? Это определенно не [project_name], так как это просто заполнитель, который вам нужно изменить, чтобы он соответствовал имени вашего проекта, который вы используете.

Holger
9 августа 2021 в 08:03
0

Конечно, на самом деле это не [имя_проекта]. Я просто поместил это здесь в качестве заполнителя, в моей конфигурации используется настоящее имя.

Antony
9 августа 2021 в 09:52
0

Я очень подозреваю, что проблема с вашим файлом htaccess. Интересно, отправляется ли запрос CSS в Codeigniter, когда он не должен. Можете ли вы вставить содержимое вашего файла htaccess в вопрос?

Nico Haase
12 августа 2021 в 12:00
0

Что вы пытались решить проблему? Где ты застрял? Сохраняются ли файлы в ожидаемом месте?

Ответы (2)

avatar
aind
21 августа 2021 в 12:17
0

Я решил проблему с локальным хостом (xammp);

  1. Переместите CSS в корневую папку проекта
  2. Затем используйте; <?= base_url('../filename.css');?>
avatar
Hermann TIOFOUE LONTSI
12 августа 2021 в 11:47
0

У меня плохой английский, но я постараюсь помочь. Сделайте так:

<link href="<?= site_url('/assets/css/app.css') ?>" rel="stylesheet">

После входа в /app/Config/Constants.php вставьте этот код в конец файла

$myappBaseUrl = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == "on") ? "https" : "http");
$myappBaseUrl .= "://".$_SERVER['HTTP_HOST'];
$myappBaseUrl .= str_replace(basename($_SERVER['SCRIPT_NAME']),"",$_SERVER['SCRIPT_NAME']);
        
defined('BASESEURL') || define('BASESEURL',$myappBaseUrl);

Наконец, прокомментируйте строку app.baseURL вашего .env, добавив # в начале строки, и определите переменную de $baseURL в app/Config/App.php следующим образом:

public $baseURL = BASESEURL;