У меня проблема с путями в моих файлах CSS. Ниже моя конфигурация и структура:
nginx conf:
listen 127.0.0.1:80;
location ~ ^/(app|app_dev|config)\.php(/|$) {
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param HTTPS off;
}
root /home/test/WWW/test/web;
server_name test.dev;
# strip app.php/ prefix if it is present
rewrite ^/app_dev\.php/?(.*)$ /$1 permanent;
location / {
index app_dev.php;
try_files $uri @rewriteapp;
}
location @rewriteapp {
rewrite ^(.*)$ /app_dev.php/$1 last;
}
access_log /home/user/WWW/_logs/test_access.log;
error_log /home/user/WWW/_logs/test_error.log;
/home/user/WWW/test/app/Resources/views/base.html.twig есть такие строки:
{% block stylesheets %}
<link href="{{ asset('css/application.css') }}" media="screen" rel="stylesheet" type="text/css"/>
{% endblock %}
{% block javascripts %}
<script src="{{ asset('js/application.js') }}" type="text/javascript"></script>
{% endblock %}
/home/user/WWW/test/app/config/config.yml есть эти:
assetic:
отладка:% kernel.debug%
use_controller: false
связки: ~
фильтры:
дерзость:
bin: / usr / local / bin / sass
cssrewrite: ~
активы:
application_css:
входы:
— % Kernel.root_dir% / .. / веб / _stylesheets / application.scss
фильтры:
— пререкаться
— cssrewrite
вывод: css / application.css
Поэтому я использую SASS с параметром —scss для компиляции файлов scss в css, используя настройки фильтра Symfony2. Структура файлов проекта, которые меня интересуют:
ТЕСТОВОЕ ЗАДАНИЕ
|
—«_stylesheets» (файл application.scss внутри)
|
—«CSS» (файл application.css внутри)
|
—«изображений» (файл «bg.png» внутри)
«Application.scss» находится в папке «_stylesheets».
«Css» — это папка, используемая для скомпилированных файлов scss (или CSS).
У меня есть проблема: некоторые строки в «application.css» следующие:
body {
background: url("../images/bg.png");
}
Когда я запускаю страницу, на которой это изображение должно быть показано, я сталкиваюсь с подобной ошибкой 404:
«Ошибка сети: 404 не найден — http://test.dev/images/bg.png«
(хотя путь, указанный с ошибкой, является визуально правильным)
Я попытался поместить изображение и даже файл CSS в папку ресурсов комплекта (/ public / scss и public / images), но безрезультатно: там была та же проблема с путем, поэтому путь был правильным, но изображение не найдено (404) пока изображение существует.
Может кто-нибудь посоветовать мне, что здесь не так или что нужно изменить, чтобы он работал правильно? Я пытаюсь решить это уже неделю. Поиск в Google, поиск, чтение, тестирование … результатов нет.
Я все равно смог частично решить свою проблему. Т.е. когда я помещаю, например, файл «test.png» в MyBundle / Resources / public / images /, затем запускаю команду: php app / console instaltic: dump (которая отображает его в: /web/images/test.png), затем путь в файле CSS, например «../images/test.png», работает как шарм. Но если исходное изображение находится, например: http://aaa.aaa.com/_stylesheets/, тогда обработанный файл (хотя он отображается в папке / web /) не распознается CSS-фоном. Это почему?
Других решений пока нет …