【问题标题】:Font Awesome not working when deployed to Server 2008 R2部署到 Server 2008 R2 时 Font Awesome 无法正常工作
【发布时间】:2016-03-15 14:57:45
【问题描述】:

当我在 Visual Studio 2013 上本地运行我的项目时,Font Awesome Icons 工作。但是在部署时它们不存在。

从服务器运行时,IE 开发者工具显示 Css 进入,但没有调用字体。没有404错误!没有403错误!没有。就像 Css 跳过了 @font-face 声明,因为它甚至没有尝试调用 EOT 文件。

以下是事实:

  • Mime 类型均已添加到 IIS 7.0(eot、svg、woff、woff2、ttf)
  • css 的文件结构是 --fonts > font-awesome > css
  • 字体的文件结构是 -- fonts > font-awesome > fonts
@font-face {
  font-family: 'FontAwesome';
  src: url('../fonts/fontawesome-webfont.eot?v=4.3.0');
  src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.3.0') format('embedded-opentype'),
       url('../fonts/fontawesome-webfont.woff2?v=4.3.0') format('woff2'),
       url('../fonts/fontawesome-webfont.woff?v=4.3.0') format('woff'),
       url('../fonts/fontawesome-webfont.ttf?v=4.3.0') format('truetype'), 
       url('../fonts/fontawesome-webfont.svg?v=4.3.0#fontawesomeregular')

格式('svg');字体粗细:正常;字体样式:正常; }

【问题讨论】:

    标签: sql-server-2008 asp.net-mvc-5 iis-7.5 font-face font-awesome-4


    【解决方案1】:

    这里确实不足以肯定地说,但如果我不得不冒险猜测,我想你将 Font Awesome 包含在一个包中,并且包路径破坏了字体引用。

    捆绑路径,即~/bundles/foo 是文字路径。当捆绑器加入并缩小所有内容时,它将文件保存到该位置。样式包通常使用~/Content/foo,因为倾向于引用~/Content 中的图像和字体等内容。当然,默认情况下,捆绑只发生在生产中,因此无论哪种方式都不会影响您的开发。我不确定您实际上将什么用作捆绑路径,但那将是我查看的第一个地方。

    另一个潜在的问题是可能根本没有加载捆绑包。当您不小心创建了映射到物理目录的包路径时,这很常见。例如,如果您的 bundle 路径是 ~/Content/fonts,并且您在项目中的 ~/Content 下有一个名为 fonts 的物理文件夹,那么您的 bundle 将不会被加载,并且不会应用该 bundle 中的任何脚本/css到页面。确保您的包路径不引用物理目录。

    【讨论】:

    • 那也没用。 @font-face 不会调用 url
    • 这可能很少见,但发生在我身上的是 FA css 文件已损坏/未正确上传。字体 src 在最后声明,因此没有加载。
    猜你喜欢
    • 2014-07-05
    • 2013-11-30
    • 2014-10-05
    • 1970-01-01
    • 2014-03-30
    • 2019-03-31
    • 1970-01-01
    • 2017-11-06
    • 1970-01-01
    相关资源
    最近更新 更多