Symfony2 - 编译后的路径错误SCSS - > CSS

问题描述:

我的CSS文件中存在路径问题。下面是我的配置和结构:Symfony2 - 编译后的路径错误SCSS - > 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:假
包:〜
过滤器:
青菜:
斌:在/ usr/local/bin目录/上海社会科学院
cssrewrite:〜
资产:
application_css:
输入:
- %kernel.root_dir%/ .. /网络/ _stylesheets/application.scss
过滤器:
- 青菜
- cssrewrite
输出:CSS/application.css

所以我用SASS与--scss参数编译SCSS文件,CSS,使用Symfony2的过滤器设置。我感兴趣的项目文件的结构是:

测试
|
---“_ stylesheets”
(“application.scss”文件里面)
|
---“css”
(“application.css”文件里面)
|
---“images”
(“bg.png”文件里面)

“application.scss”位于“_stylesheets”文件夹中。
“css”是用于编译scss(so CSS)文件的文件夹。

我遇到的问题是:“应用程序中的某些行”。CSS”如下:

body { 
background: url("../images/bg.png"); 
} 

当运行一个网页,这个图像应,林显示面临类似404错误:

“NetworkError:404未找到 - http://test.dev/images/bg.png
(尽管显示错误的路径在视觉上是正确的)

我试图将图像,甚至CSS文件放在bundles资源文件夹(/ public/scss和public/images)中,没有任何效果 - 它显示了同样的问题与路径,所以路径是正确的,但图像存在时找不到图像(404)。

有人可以告诉我这里出了什么问题,或者要改变它以使其正常工作?我试图从一个星期以来解决这个问题。谷歌搜索,搜索,阅读,测试..没有结果。

无论如何,我都能部分解决我的问题。当我将例如“test.png”文件放入MyBundle/Resources/public/images /时,然后运行一个命令:php app/console assetic:dump(将它呈现在:/web/images/test.png中),然后像“../images/test.png”这样的CSS文件中的路径就像一个魅力。但是,如果源图像位于例如:http://aaa.aaa.com/_stylesheets/,则呈现的文件(虽然它呈现在/ web /文件夹中)不会被CSS的“背景网址”识别。这是为什么?