gpt4 book ai didi

symfony - 在 Symfony 中找不到字体文件的路径

转载 作者:行者123 更新时间:2023-12-02 03:27:07 26 4
gpt4 key购买 nike

我在 Symfony 中加载字体时遇到了一些困难。这是出了什么问题:

情况

我正在使用 Symfony,我正在尝试将 Metro UI CSS 文件添加到一个包中。这些文件位于 Resources/public/lib/metro-ui 文件夹中。

Resources/public/lib/metro-ui
- css
- fonts
- js
- min

我在 Twig 文件中有这样的布局:

{% stylesheets
'bundles/manager/lib/metro-ui/css/metro-bootstrap.css'
%}

Metro UI 的 Bootstrap 文件包含以下字体:

@font-face {
font-family: 'metroSysIcons';
src: url('../fonts/metroSysIcons.woff') format('woff'),
url('../fonts/metroSysIcons.ttf') format('truetype'),
url('../fonts/metroSysIcons.svg#metroSysIcons') format('svg');
font-weight: normal;
font-style: normal;
}

我使用 Assetic 的命令 assets:install 将 Assets 安装到我的网络文件夹中。 Assets 实际上已被复制,甚至是字体。

问题

当我转到网页时,我的 css 已加载,但我的字体没有。当我查看开发人员控制台(Chrome 中的 F12)时,我可以看到加载字体会导致 404。请求的 URL 是:

http://sub.domain.lc/fonts/metroSysIcons.woff

当我在浏览器中输入这个地址时,我得到以下信息:

No route found for "GET /fonts/metroSysIcons.woff"

404 Not Found - NotFoundHttpException
1 linked Exception:
ResourceNotFoundException »

对于所有其他 Assets ,这都有效:

// This loads the correct bootstrap file:
http://sub.domain.lc/css/afd9510_metro-bootstrap_1.css

所以基本上每个 Assets 都可以这样找到,但不是我的字体文件(woff 和 tff 都是)。

问题

我的问题引发了多个问题:

  • 为什么 Symfony 试图通过 app.php 使用路由找到我的字体?
  • 是否所有 Assets 都通过路线找到?
  • 如果是这样:为什么字体文件的路径没有被解析?
  • 如何加载我的字体文件?

[编辑]

我试过像这样使用 css 重写过滤器:

{% stylesheets filter='cssrewrite'
'bundles/manager/lib/metro-ui/css/metro-bootstrap.css'
%}

我仍然收到 404,但现在浏览器正在尝试从此位置检索我的字体:

http://sub.domain.lc/bundles/manager/lib/metro-ui/fonts/metroSysIcons.woff

我收到相同的“没有找到“GET/”的路由......”错误消息。

最佳答案

你应该在 Assetic 中使用 csurlrewrite 过滤器:

Since Assetic generates new URLs for your assets, any relative paths inside your CSS files will break. To fix this, make sure to use the cssrewrite filter with your stylesheets tag. This parses your CSS files and corrects the paths internally to reflect the new location.

文档链接:http://symfony.com/doc/current/cookbook/assetic/asset_management.html

关于symfony - 在 Symfony 中找不到字体文件的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29771557/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com