WOFF字体应该作为什么mime类型?
我正在服务truetype (ttf)字体作为字体/truetype和opentype (otf)作为字体/opentype,但我找不到WOFF字体的正确格式。
我已经尝试了字体/woff,字体/webopen,和字体/webopentype,但Chrome仍然抱怨:
资源解释为字体,但使用MIME类型应用程序/字节流传输。
有人知道吗?
WOFF字体应该作为什么mime类型?
我正在服务truetype (ttf)字体作为字体/truetype和opentype (otf)作为字体/opentype,但我找不到WOFF字体的正确格式。
我已经尝试了字体/woff,字体/webopen,和字体/webopentype,但Chrome仍然抱怨:
资源解释为字体,但使用MIME类型应用程序/字节流传输。
有人知道吗?
当前回答
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
其他回答
注:这个答案在当时是正确的,但在2017年RFC 8081发布时就过时了
没有字体的MIME类型!因此,font/xxx总是错误的。
也许这能帮到别人。我在iis7上看到。ttf已经是一个已知的mime类型。它被配置为:
application/octet-stream
所以我只是添加了所有的CSS字体类型(。oet, .svg, .ttf, .woff)和IIS开始为它们提供服务。Chrome开发工具也不会抱怨重新解释类型。
欢呼, 迈克尔
向.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管理器
Mime类型可能不是你唯一的问题。如果字体文件托管在S3或其他域上,您可能还会遇到Firefox无法从不同域加载字体的问题。这在Apache上很容易解决,但在Nginx上,我读到你可能需要用base-64编码你的字体文件,并直接嵌入到你的字体css文件中。
为我做的事情是将这个添加到我的mime_types中。rb初始化:
Rack::Mime::MIME_TYPES['.woff'] = 'font/woff'
然后清空缓存
rake tmp:cache:clear
在重新启动服务器之前。
来源:https://github.com/sstephenson/sprockets/issues/366 # issuecomment - 9085509