Я только что сделал новую установку последней версии Symfony. Внутри моей папки templates я создал новую папку под названием веб-сайт, которая содержит base.html.twig и home.html.twig.
Структура файла: templates/website/base.html.twig
Внутри моего каталога public я создал следующий css/app.css. Теперь в моей базе я сделал:
<link rel = "stylesheet" href = "{{ asset('css/app.css') }}" type = "text/css">
Внутри моей таблицы стилей я просто устанавливаю цвет фона тела на красный, чтобы я знал, что это работает. По какой-то причине он не загружает мой css. Когда я просматриваю источник, он выглядит так:
<link rel = "stylesheet" href = "/css/app.css" type = "text/css">
и щелкнув href, я просто получаю Symfony 404. Я не могу понять, почему он не загружает мой статический файл CSS.
Я не хочу использовать Symfony Encore, так как это слишком усложняет мой проект. Я также пробовал команду assets:install, и ничего не устанавливалось и не менялось.
Обновлено:
Я установил и выполнил базовую настройку Symfony Encore в надежде, что хотя бы немного заработаю с CSS. Все равно получите точно такую же проблему.
@Preciel Не повезло с / в начале. Версия Symfony 4.2.4.
Еще одна вещь, которую вы можете попробовать: если вы откроете /css/app.css в браузере и получите 404, попробуйте добавить public к пути, чтобы у вас было public/css/app.css. Если вы видите свой файл, значит, это проблема с конфигурацией сервера.




Вы должны хранить свои статические файлы в каталоге assets в корне вашего проекта. Так что просто поместите css-папку с app.css-файлом в <root>/assets/css/app.css
Источник: https://symfony.com/doc/current/best_practices/web-assets.html
Казалось, не имеет значения. Я переместил свой файл css из public/css в assets/css, и ничего не изменилось.
Какую настройку сервера вы используете?
Это слегка измененная версия eko/docker-symfony. Мое единственное изменение — удаление части ELK. У меня есть эта точная настройка в другом проекте, который работает, и я не вижу никаких отличий.
Если вы хотите использовать функцию asset, вам необходимо сначала установить компонент с помощью следующей команды:
composer require symfony/asset
Это действительно все, что нужно сделать, если вы не хотите использовать webpack encore.
Необязательный: Если вы используете PHPStorm с плагином Symfony, перейдите в настройки > symfony и измените Веб-каталог с app на public для нового каталога, который использует Symfony 4. Это дает вам все преимущества автозаполнения, и ваши ссылки будут работать.
Уже пробовал композитор требовать пару раз и не имел никакого значения. Я также настроил PHPStorm таким образом. Я даже пытался установить Symfony Encore
@Жевать. Я предполагаю, что это проблема сервера. Возможно, попробуйте с абсолютным URL-адресом, например:
{{ absolute_url(asset('css/app.css')) }}
Какую версию Symfony вы используете? Добавьте косую черту в начале пути
{{ asset('/css/app.css') }}