解决Web部署 svg/woff/woff2字体 404错误

网站发布到IIS后,发现网站使用的Bootstrap框架所引用的woff字体没法正常显示。因而跟踪http请求,发现woff字体请求出现GET .woff 404 (Not Found)的问题,可是项目中woff字体的文件并未丢失。后经排查,原来是服务器上IIS没有添加woff字体的MIME类型,致使发送HTTP请求时,IIS没法处理和识别此类型的文件。html

解决方法1:在Web.config配置文件中添加woff字体的MIME类型 web

解放方法2:在IIS中添加woff字体的MIME类型 
woff字体简介 
MIME类型简介 浏览器

解决方法一:在Web.config配置文件中添加woff字体的MIME类型服务器

若是网站是使用ASP.NET 或者ASP.NET MVC 编写的,能够很方便的直接使用配置文件进行woff字体的配置。只要在Web.config中的system.webServer节点添加下面的配置能够了。app

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

这里要注意下的是这个配置,添加此节点是防止出现这个错误:“在惟一密钥属性“fileExtension”设置为“.woff”时,没法添加类型为“mimeMap”的重复集合项”,这个问题能够点击此连接查看解决方法。若是只添加下面的这个节点,并且没有报这个错误的话,remove节点能够不用添加。另外”font/x-font-woff”是woff字体的MIME类型值。框架

将该节点添加到网站的配置文件后,在从新打开网站便可正常显示woff字体。此方法可用于没有权限操做IIS管理器的时候做为解决方案。svg

解放方案二:在IIS中添加woff字体的MIME类型字体

若是能够直接操做IIS管理器的话,也能够直接在IIS上添加woff字体的mime type。只要打开当前的IIS,打开MIME类型的配置,最后添加一个新的MIME类型就能够了,这里woff字体的扩展名是.woff, MIME类型为:”font/x-font-woff“。具体操做以下所示:网站

打开控制面板中的IIS管理器,选择当前IIS,打开MIME类型配置;加密

在IIS中添加.woff截图;

点击MIME类型右边操做的栏的添加功能;

添加.woff的MIME类型截图;

弹出的添加MIME类型对话框中,文件扩展名填写.woff,MIME类型可填写 font/x-font-woff 或者application/x-font-woff;

设置文件扩展名和类型;

点击肯定后成功添加了.woff扩展名的MIMI TYPE,如今打开网站请求WOFF字体就不会出现404 NOT FOUND错误了。

woff字体简介

Web开放字体格式(Web Open Font Format,简称WOFF) 是一种网页所采用的字体格式标准。此字体格式发展于2009年,如今正由万维网联盟的Web字体工做小组标准化,以求成为推荐标准。此字体格式不但可以有效利用压缩来减小档案大小,而且不包含加密也不受DRM(数位著做权管理)限制。

在2010年4月8日,Mozilla基金会、Opera软件公司和微软提交WOFF以后,万维网联盟发表评论指,但愿WOFF不久能成为全部浏览器都支持的、“单1、可互操做的(字体)格式”。[6]2010年7月27日,万维网联盟将WOFF做为工做草案发布。

WOFF的MIME类型是:application/x-font-woff(font/x-font-woff也能够),目前的IIS7里面默认没有这个MIME类型,若是要让网站支持这个,请在IIS7里面的MIME类型里面添加woff。

MIME类型简介

MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型,既设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。

文件扩展名      MIME类型 

.svg             image/svg+xmz

​.woff            application/x-font-woff

​.woff2          application/x-font-woff

相关文章
相关标签/搜索