我有一个CSS文件,其中包含一些路径(图像,字体等url(..)
).
我的路径结构是这样的:
...
+-src/
| +-MyCompany/
| +-MyBundle/
| +-Resources/
| +-assets/
| +-css/
| +-stylesheets...
+-web/
| +-images/
| +-images...
...
Run Code Online (Sandbox Code Playgroud)
我想在样式表中引用我的图像.
我将CSS文件中的所有路径都更改为绝对路径.这不是解决方案,因为应用程序应该(并且必须!)也在子目录中工作.
使用Assetic filter="cssrewrite"
.
所以我将CSS文件中的所有路径都更改为
url("../../../../../../web/images/myimage.png")
Run Code Online (Sandbox Code Playgroud)
表示从我的资源目录到/web/images
目录的实际路径.这不起作用,因为cssrewrite生成以下代码:
url("../../Resources/assets/")
Run Code Online (Sandbox Code Playgroud)
这显然是错误的道路.
assetic:dump
创建此路径后,仍然存在错误:
url("../../../web/images/myimage.png")
Run Code Online (Sandbox Code Playgroud)
Assetic的枝条代码:
{% stylesheets
'@MyCompanyMyBundle/Resources/assets/css/*.css'
filter="cssrewrite"
%}
<link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}
Run Code Online (Sandbox Code Playgroud)
由于所有CSS文件最终都存在/web/css/stylexyz.css
,我将CSS文件中的所有路径都更改为相对:
url("../images/myimage.png")
Run Code Online (Sandbox Code Playgroud)
除了在dev
环境中之外,这个(坏)解决方案是有效的:CSS路径是/app_dev.php/css/stylexyz.css
因此得到的图像路径/app_dev.php/images/myimage.png
,这导致了一个NotFoundHttpException
.
有更好的工作解决方案吗?