9

我正在尝试将 ASP.Net MVC4 TwitterBootstrap 应用程序部署到我在 Azure 的新主机。

一切都在 100% 工作,除了文件 '\Fonts\glyphicons-halflings-regular.woff' 在使用 Chrome 时抛出 404 错误(使用 F12 时的网络选项卡)。

我检查了我的解决方案,文件在那里:

在此处输入图像描述

我用谷歌搜索,发现这是一个 mime 类型问题和 Azure。我找到了一个链接,上面说解决方法是将其添加到 web.config。

<staticContent>
  <mimeMap fileExtension="woff" mimeType="application/font-woff" />
</staticContent>

我这样做了,404 不再显示。但是,我的页面需要额外的 1.56 毫秒来加载,因为它似乎每次加载页面时都会下载该 woff 文件 - 所有其他静态内容似乎在每次加载时都缓存在服务器上。

在此处输入图像描述

那是加载主页 - 并且是唯一被加载的文件。其余的似乎已缓存?

加载另一个页面,其中加载了其他项目,表明这是缓存似乎不感兴趣的文件:

在此处输入图像描述

有没有办法缓存这个文件?我认为可能需要将 mime 类型添加到他们的服务器的某个地方?我对缓存和 mime 以及 Azure 有点陌生。希望有一个解决方案,因为这个文件几乎使我在 Azure 上所有页面上的页面加载时间增加了一倍。我的其他廉价主机没有这个问题。

4

2 回答 2

8

也许试试这个......注意两件事

1)删除线

2) x-font-woff 与 font-woff

<staticContent> <remove fileExtension=".woff" /> <mimeMap fileExtension=".woff" mimeType="application/x-font-woff" /> </staticContent>

可在 http://ideasof.andersaberg.com/development/quick-fix-iis-woff-font-file-404-not-found-in-aspnet-mvc/找到

于 2015-03-11T19:14:59.180 回答
2

扩展 Craig 对包含 WOFF2 文件的最新引导程序的回答。您还可以添加

<system.webServer>
    <staticContent>

        <remove fileExtension=".woff2" />
        <mimeMap fileExtension=".woff2" mimeType="font/woff2" />

    </staticContent>
</system.webServer>

(有关WOFF2 文件的当前 mime 类型的讨论,请参阅.woff2 字体的正确 MIME 类型)

于 2016-08-02T10:13:03.940 回答