一、问题

  ①ASP.NET项目,开发工具Visual
Studio

  ②在IIS上发布之后,网页控制台报错,某某文件找不到,但是在服务器文件夹中看明明有那个文件

    图片 1

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

现在字体图标已经渐渐代替了图片了,移动端用起来也很方便。

二、解决方法

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

使用了字体文件来显示矢量的图标,为了能在IIS上正常显示图标,可以通过增加iis的MIME-TYPE来支持图标字体文件

  ①》》打开IIS,点击你的网站,在右边窗口搜索找到MIME类型

    图片 2

  》》右击上方,新建MIME类型

    图片 3

  》》如,字体woff —->
文件扩展名: .woff ——> MIME类型: font/opentype

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

下面就把IIS增加svg、eot 、woff、otf 、ttf 等字体格式文件的MIME。

②在ASP项目的Web.config文件中

  》》在</system.webServer>标签前添加 <staticContent> <mimeMap
fileExtension=”.woff” mimeType=”font/opentype” />
</staticContent>

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

增加以下两种文件类型即可:

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

.svg image/svg+xml
.woff application/font-woff

 <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类型值。

.eot application/vnd.ms-fontobject
.otf application/octet-stream
.ttf application/octet-stream

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

(完)

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

今天测试的一个代码,在本地一切正常,可是上传到服务器上之后就发现一些图标不显示了。图片存在,但是也访问不了,就百度了下,这个.svg的图片想要在iis上能正常打开,还需要做一下映射才行。

发表评论

电子邮件地址不会被公开。 必填项已用*标注