В корне проекта symfony есть стандартная папка assets, в ней подключаются в css стили
src:url(../fonts/Nekst-Black.44814bfd.woff2)
Я в этой папке создаю папку fonts и закидываю туда стили, но в браузере их не видно, если перейти по пути шрифта то получаю ошибку
Asset with public path "/assets/fonts/Nekst-Black.44814bfd.woff2" not found.
Настройка nginx
server {
listen 80;
listen [::]:80;
server_name localhost;
root /var/www/html/public;
index index.php index.html index.htm;
location /images/ {
alias /var/www/html/public/images/;
try_files $uri $uri/ =404;
}
location /build {
alias /var/www/html/public/build;
}
Папка assets должна лежать не в корне проекта, а в папке public - оттуда nginx «читает» файлы.
Также обратите внимание, что путь в директиве srcurl в css файле считается от самого css файла. У вас там выход на 1 уровень вверх - ../fonts - это значит, что папка fonts должна лежать внутри public, рядом с assets (при условии, что css файл лежит в assets)
tukreb, потому что подразумевается, что CSS и JS будут билдится в общие файлы через webpack или другой пакетный менеджер, а итоговые файлы будут лежать в папке public/build (ну или что-то такое). Т.е. в конечном итоге - все доступные наружу статичные файлы должны быть в public или ее подкаталогах.
Дмитрий, для prod да, для dev, в 7 версии иначе работает assertmapper, что иногда проводят к конфузам и люди забывают запустить команду в прод php bin/console asset-map:compile