/*十有三博客*/
  • 首页
  • 关于本站
  • 网站地图
  • RSS订阅

解决网站出现GET .woff 404 (Not Found)的问题

2014-07-02 十有三 6 浏览:23199 .NET技术 网站维护 | ASP.NET MVC

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

目录:

  1. 解决方法1:在Web.config配置文件中添加woff字体的MIME类型
  2. 解放方法2:在IIS中添加woff字体的MIME类型
  3. woff字体简介
  4. 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>

这里要注意下的是<remove fileExtension=".woff" />这个配置,添加此节点是防止出现这个错误:“在唯一密钥属性“fileExtension”设置为“.woff”时,无法添加类型为“mimeMap”的重复集合项”,这个问题可以点击此链接查看解决方法。如果只添加下面的 <mimeMap fileExtension=".woff" mimeType="font/x-font-woff" /> 这个节点,而且没有报这个错误的话,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)多用途互联网邮件扩展类型,既设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。 

 


作者:十有三

出处:https://shiyousan.com/post/635398568799806827

版权声明:本文采用知识共享许可协议:署名-相同方式共享 4.0 国际(CC BY-SA 4.0)。欢迎转载本文,转载请声明出处或保留此段声明。


  • 上一篇: ASP.NET MVC 表单提交数组和泛型集合的方法
  • 下一篇: (译)在 ASP.NET中使用 XML-RPC 进行ping

相关文章
  • AntiForgeryToken生成过程解析-ASP.NET MVC防伪标记源码学习[上]
  • 网站打开出现 Server Error in '/' Application Validation of viewstate MAC failed
  • IIS8通过ARR和URL重写模块实现不同站点之间的POST请求重写
  • ASP.NET MVC 出现“System.Web.Mvc.CompareAttribute”已过时
  • ASP.NET CheckBoxList控件动态修改ListItem选项的字体颜色和背景颜色
  • ASP.NET中Page设置ValidateRequest="false" 无效
发表评论
记住昵称

文章分类

.NET技术 122 数据库 24 Web前端 21 网站建设运维 33 操作系统与应用 67 程序猿日常 11 开发工具 11 其他随笔 12

文章标签

ASP.NET ASP.NET MVC C# CSS HTML IIS Javascript Linux MongoDB MySql SQL SQL Server Visual Studio Windows系统 版本控制系统 插件工具 道学 佛经 服务器 搞笑娱乐 好文分享 软件应用 生活知识 诗词 手机问题 随笔 网络知识 网站设计优化 网站维护 养生保健 异常处理 硬件设备 游戏攻略

热门文章

  • 解决IE11安装升级失败和在安装前需要更新的问题
  • 林蛋大与楚中天,朱肚皮与朱月坡
  • jquery ajax error函数和及其参数详细说明
  • 骑马与砍杀 无限箭枝/作弊修改箭枝数量/调整各种箭枝数量的方法
  • 在唯一密钥属性“fileExtension”设置为“.”时,无法添加类型为“mimeMap”的重复集合项

推荐文章

  • CKFinder 3无法删除文件和文件夹出现提示:You cannot delete files in DEMO mode
  • c# 字符串string类型转换成DateTime类型
  • SQL使用ROW_NUMBER函数获取没有ID的当前数据的上下文数据(上一条和下一条)
  • ASP.NET MVC中MvcHtmlString类的两个疑问:是什么以及怎么使用?
  • 解决"在页面head部分没有发现字符集定义,请增加该说明"的问题

最新评论

  • 感谢脖主分享
  • 在“为click once清单签名”的右侧,可以创
  • 用的帝国cms,修改后无效啊。 缓存清理了,浏览
  • 我的需求是:分享出去是同一个网站,但是微信分享需要
  • 试了 的确 有效,只能用english的语言进行安

友情链接

  • Wil的博客
  • Passingwind的博客
  • 坤哥网
  • .NET开发者社区

知识共享许可协议 CC BY-SA 4.0本站作品采用知识共享许可协议:署名-相同方式共享 4.0 国际(CC BY-SA 4.0)。
闽ICP备15003702号