网站发布后Bootstrap框架引用woff字体无法正常显示的解决方法

作者:强者用结果说话 时间:2023-08-13 00:26:58 

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

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

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

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

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


<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管理器的时候作为解决方案。

解放方案二:在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不久能成为所有浏览器都支持的、“单一、可互操作的(字体)格式”。[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)多用途互联网邮件扩展类型,既设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。

标签:Bootstrap,woff,字体
0
投稿

猜你喜欢

  • vscode 配置eslint和prettier正确方法

    2022-12-31 04:54:44
  • MySQL数据库查询进阶之多表查询详解

    2024-01-27 07:14:51
  • python怎么提高计算速度

    2021-06-09 17:04:42
  • Go语言实现配置热加载的方法分享

    2024-02-07 04:02:47
  • Python序列化模块JSON与Pickle

    2022-11-06 00:24:37
  • 如何利用Python写猜数字和字母的游戏

    2021-01-28 00:00:09
  • python读取各种文件数据方法解析

    2021-08-31 09:16:54
  • python获取地震信息 微信实时推送

    2021-05-10 17:42:01
  • tensorflow基于Anaconda环境搭建的方法步骤

    2022-11-04 10:12:58
  • Ubuntu下mysql安装和操作图文教程

    2024-01-25 15:53:30
  • python的列表生成式,生成器和generator对象你了解吗

    2022-05-15 15:10:04
  • 跟老齐学Python之总结参数的传递

    2021-12-16 18:17:24
  • Python缓存技术实现过程详解

    2023-08-03 12:31:30
  • 浅谈PHP的排列组合(如输入a,b,c 输出他们的全部组合)

    2024-05-03 15:53:12
  • python神经网络Keras实现LSTM及其参数量详解

    2023-02-09 14:02:22
  • 基于标准的web项目开发模式探索

    2013-12-12 15:05:25
  • uniapp实现支付功能

    2023-08-21 13:53:47
  • numpy.random.shuffle打乱顺序函数的实现

    2021-02-04 07:19:34
  • 详解Python计算机视觉 图像扭曲(仿射扭曲)

    2021-06-13 15:57:43
  • BootStrap Select清除选中的状态恢复默认状态

    2024-04-28 09:42:05
  • asp之家 网络编程 m.aspxhome.com