WOFF字体应该作为什么mime类型?

我正在服务truetype (ttf)字体作为字体/truetype和opentype (otf)作为字体/opentype,但我找不到WOFF字体的正确格式。

我已经尝试了字体/woff,字体/webopen,和字体/webopentype,但Chrome仍然抱怨:

资源解释为字体,但使用MIME类型应用程序/字节流传输。

有人知道吗?


当前回答

对我来说,接下来就是在.htaccess文件中工作。

AddType font/ttf .ttf
AddType font/eot .eot
AddType font/otf .otf
AddType font/woff .woff
AddType font/woff2 .woff2   

其他回答

向.NET/IIS添加字体mime类型的参考

通过web . config

<system.webServer>
  <staticContent>
     <!-- remove first in case they are defined in IIS already, which would cause a runtime error -->
     <remove fileExtension=".woff" />
     <remove fileExtension=".woff2" />
     <mimeMap fileExtension=".woff" mimeType="font/woff" />
     <mimeMap fileExtension=".woff2" mimeType="font/woff2" />
  </staticContent>
</system.webServer>

通过IIS管理器

注:这个答案在当时是正确的,但在2017年RFC 8081发布时就过时了

没有字体的MIME类型!因此,font/xxx总是错误的。

将以下内容添加到.htaccess中

AddType font/woff woff

祝你好运

我知道这篇文章有点老了,但在花了很多时间试图让字体在我的nginx本地机器上工作,并尝试了大量的解决方案后,我终于得到了一个对我来说很有魅力的解决方案。

location ~* \.(eot|otf|ttf|woff|woff2)$ {
    add_header Access-Control-Allow-Origin *;
}

在圆括号内,您可以放置字体的扩展名或您想要加载的文件。例如,我将它用于字体和图像(png,jpg等),所以不要感到困惑,这个解决方案只适用于字体。

只要把它放入你的nginx配置文件,重新启动,我希望它也适用于你!

NGINX溶液

file

/etc/nginx/mime.types

or

/usr/local/nginx/conf/mime.types

add

font/ttf                      ttf;
font/opentype                 otf;
font/woff                     woff;
font/woff2                    woff2;
application/vnd.ms-fontobject eot;

删除

application/octet-stream        eot;

参考文献

RFC @02.2017

https://www.rfc-editor.org/rfc/rfc8081#page-15

https://www.iana.org/assignments/media-types/media-types.xhtml

感谢迈克·富尔彻

http://drawingablank.me/blog/font-mime-types-in-nginx.html