Symfony 2 中 CSS 资源的路径
问题:
在 Symfony 2 项目中,您有一个包含图像和字体引用的 CSS 文件(例如 url(..))。您希望在 CSS 中引用这些文件,而不直接在公共目录中暴露原始文件。
可能的解决方案:
解决方案 1:绝对路径
将 CSS 中的所有路径更改为绝对路径并不是一个合适的解决方案,因为应用程序可能并不总是从同一个子目录访问。
解决方案 2:使用“cssrewrite”的 Assetic " 过滤器
将 Assetic 与“cssrewrite”过滤器一起使用可以帮助重写路径,但通常会导致生成不正确的路径。
解决方案 3:相对路径
将 CSS 中的所有路径更改为相对于样式表位置是有效的,但在开发环境中除外,其中 CSS 路径包含“/app_dev.php”并导致图像路径出现“NotFoundHttpException”。
工作解决方案:
唯一的工作解决方案是将原始 CSS 文件放在私有目录中(例如“Resources/assets/css”)并将其编译为使用 Assetic 的公共目录(例如“web/css”)。
代码结构:
... +-src/ | +-MyCompany/ | +-MyBundle/ | +-Resources/ | +-assets/ | +-css/ | +-stylesheets... +-web/ | +-css/ | +-stylexyz.css | +-images/ | +-images... ...
Assetic Twig 代码:
{% stylesheets '@MyCompanyMyBundle/Resources/assets/css/*.css' filter="cssrewrite" %} <link rel="stylesheet" href="%7B%7B%20asset_url%20%7D%7D"> {% endstylesheets %}
编译过程:
此过程将确保 CSS 文件以正确的图像路径编译到公共目录中:
- 将原始CSS文件复制到public目录。
- 运行assetic:dump编译CSS文件。
- 从public目录中删除原始CSS文件。
优点:
- 允许将原始 CSS 文件存储在私有目录中。
- 使用正确的图像路径将 CSS 编译到公共目录。
- 不向公众公开原始 CSS 文件。
以上是如何在 Symfony 2 中管理 CSS 资产路径以实现安全高效的部署?的详细内容。更多信息请关注PHP中文网其他相关文章!

在本周的综述中,如何确定慢速连接,我们应该在图像中放入alt文本中的内容以及用于HTML加载属性的新polyfill,

在本周的平台新闻综述中,Chrome引入了一个用于加载的新属性,Web开发人员的可访问性规范以及BBC Move

GraphQL是API的查询语言,对前端开发人员非常有能力。正如GraphQL网站所解释的那样,您可以描述您的数据,询问什么

通过亚瑟·科伦赞(Arthur Corenzan),这是一个非常聪明的主意。与其使用默认的YouTube嵌入,该YouTube嵌入了,这会在用户播放的情况下在页面上添加大量资源


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

WebStorm Mac版
好用的JavaScript开发工具

记事本++7.3.1
好用且免费的代码编辑器

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

SublimeText3汉化版
中文版,非常好用

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器