2014-12-02 55 views
0

我的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)。

有人可以告訴我這裏出了什麼問題,或者要改變它以使其正常工作?我試圖從一個星期以來解決這個問題。谷歌搜索,搜索,閱讀,測試..沒有結果。

回答

0

無論如何,我都能部分解決我的問題。當我將例如「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的「背景網址」識別。這是爲什麼?