Symfony не находит файл css

Я только что сделал новую установку последней версии 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. Все равно получите точно такую ​​же проблему.

Какую версию Symfony вы используете? Добавьте косую черту в начале пути {{ asset('/css/app.css') }}

Preciel 24.03.2019 16:29

@Preciel Не повезло с / в начале. Версия Symfony 4.2.4.

Munch 24.03.2019 16:32

Еще одна вещь, которую вы можете попробовать: если вы откроете /css/app.css в браузере и получите 404, попробуйте добавить public к пути, чтобы у вас было public/css/app.css. Если вы видите свой файл, значит, это проблема с конфигурацией сервера.

Dirk J. Faber 24.03.2019 19:16
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Symfony Station Communiqué - 17 февраля 2023 г
Symfony Station Communiqué - 17 февраля 2023 г
Это коммюнике первоначально появилось на Symfony Station , вашем источнике передовых новостей Symfony, PHP и кибербезопасности.
Управление ответами api для исключений на Symfony с помощью KernelEvents
Управление ответами api для исключений на Symfony с помощью KernelEvents
Много раз при создании api нам нужно возвращать клиентам разные ответы в зависимости от возникшего исключения.
0
3
812
2

Ответы 2

Вы должны хранить свои статические файлы в каталоге assets в корне вашего проекта. Так что просто поместите css-папку с app.css-файлом в <root>/assets/css/app.css

Источник: https://symfony.com/doc/current/best_practices/web-assets.html

Казалось, не имеет значения. Я переместил свой файл css из public/css в assets/css, и ничего не изменилось.

Munch 24.03.2019 16:30

Какую настройку сервера вы используете?

Johan 24.03.2019 16:33

Это слегка измененная версия eko/docker-symfony. Мое единственное изменение — удаление части ELK. У меня есть эта точная настройка в другом проекте, который работает, и я не вижу никаких отличий.

Munch 24.03.2019 16:36

Если вы хотите использовать функцию asset, вам необходимо сначала установить компонент с помощью следующей команды:

composer require symfony/asset

Это действительно все, что нужно сделать, если вы не хотите использовать webpack encore.

Необязательный: Если вы используете PHPStorm с плагином Symfony, перейдите в настройки > symfony и измените Веб-каталог с app на public для нового каталога, который использует Symfony 4. Это дает вам все преимущества автозаполнения, и ваши ссылки будут работать.

Уже пробовал композитор требовать пару раз и не имел никакого значения. Я также настроил PHPStorm таким образом. Я даже пытался установить Symfony Encore

Munch 24.03.2019 19:07

@Жевать. Я предполагаю, что это проблема сервера. Возможно, попробуйте с абсолютным URL-адресом, например:

Dirk J. Faber 24.03.2019 19:11
{{ absolute_url(asset('css/app.css')) }}
Dirk J. Faber 24.03.2019 19:11

Другие вопросы по теме