filter =“cssrewrite”提供了错误的路径

时间:2015-09-27 19:12:38

标签: css symfony assetic

我的所有CSS,fonts,js文件分别位于web / css /,web / fonts /和web / js /。

某些css文件使用相对路径导入/包含字体或CSS文件:

@font-face {
    font-family: 'et-line';
    src:url('../fonts/et-line.eot');
    src:url('../fonts/et-line.eot?#iefix') format('embedded-opentype'),
        url('../fonts/et-line.woff') format('woff'),
        url('../fonts/et-line.ttf') format('truetype'),
        url('../fonts/et-line.svg#et-line') format('svg');
    font-weight: normal;
    font-style: normal;
}

@import url("slider.css");
@import url("vertical.css");

当然,由于我使用的是资产,我只需在以下代码中添加cssrewrite过滤器即可正确包含我的文件:

{% stylesheets filter="cssrewrite"
    'css/simpletextrotator.css'
    'css/font-awesome.min.css'
    'css/et-line-font.css'
    'css/magnific-popup.css'
    'css/flexslider.css'
    'css/animate.css'
    'css/style.css'
    'css/custom.css'
%}

    <link rel="stylesheet" href="{{ asset_url }}" type="text/css" />

{% endstylesheets %}

我在两个环境中清理缓存,使用以下命令:

php app/console assetic:dump 
php app/console assetic:dump --env=prod

一切都在开发环境中完美运行,但在prod one中,我之前导入的确切文件(使用@ font-face和@import)不包括在内。使用调试器和控制台,我可以看到:

Firebug's console

Assetic提供的路径不正确,Symfony在根文件夹中查找这些文件夹,同时它应该在web /文件夹中查找。

我该怎么办?

1 个答案:

答案 0 :(得分:0)

您必须使用以下命令在prod环境中按顺序清除caché:

php app/console cache:clear --env=prod