如何删除没有找到关于glyphicons-halflings-regular.woff2的错误

And*_*rus 94 asp.net-mvc visual-studio asp.net-mvc-4 twitter-bootstrap glyphicons

ASP.NET MVC4 Bootstrap 3应用程序从Microsoft Visual Studio Express 2013 for Web IDE运行.

Chrome控制台始终显示错误

http://localhost:52216/admin/fonts/glyphicons-halflings-regular.woff2
Failed to load resource: the server responded with a status of 404 (Not Found)
Run Code Online (Sandbox Code Playgroud)

此文件存在于解决方案资源管理器的fonts目录中.构建操作设置为"内容",复制到输出目录为"不要像其他字体文件一样复制".使用NuGet将Bootstrap 3添加到解决方案中.如何解决这个问题,以免发生此错误?应用程序正确显示Glyphicon和FontAwesome图标.此错误始终在应用程序启动时发生.

Tot*_*eRo 236

出现此问题是因为IIS不知道woffwoff2文件mime类型.

解决方案1:

在web.config项目中添加以下行:

 <system.webServer>
  ...
  </modules>
    <staticContent>
      <remove fileExtension=".woff" />
      <mimeMap fileExtension=".woff" mimeType="application/font-woff" />
      <remove fileExtension=".woff2" />
      <mimeMap fileExtension=".woff2" mimeType="font/woff2" />
    </staticContent>
Run Code Online (Sandbox Code Playgroud)

解决方案2:

在IIS项目页面上:

第1步:转到项目IIS主页,然后双击MIME Types按钮:

步骤1

第2步:点击菜单中的Add按钮Actions: 第2步

第3步:在屏幕中间出现一个窗口,在此窗口中,您需要添加解决方案1中的两行: 第3步

  • @CamilleSévigny我相信你问题的答案是IIS只提供有效的文件类型,因为它不能识别.woff和.woff2扩展,它会响应404这些文件的请求 - 找不到. (4认同)
  • @Bpainter这个答案的第一行告诉你原因.mime类型与类型无关,因此浏览器无法加载它们.为什么浏览器不会加载未关联的mime类型文件?我认为这是一个单独的问题,我不知道答案. (3认同)

Rez*_*mun 42

就我而言,我刚从这里直接下载了丢失的文件:https://github.com/twbs/bootstrap/blob/master/dist/fonts/glyphicons-halflings-regular.woff2

  • 为我解决了.谢谢.我下载了文件,并将fonts文件夹保存在我的项目目录下."css"文件夹中的CSS文件,"fonts"文件夹中的字体 (7认同)
  • 有时解决方案非常简单,我们不知道:) 感谢解决方案,我在 MVC5 应用程序的 `fonts` 文件夹中错过了这个 (2认同)

F.M*_*.F. 6

如果您只能访问html,请将其添加到html中:

<link href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap-glyphicons.css" rel="stylesheet">
Run Code Online (Sandbox Code Playgroud)

  • 谢谢,这个解决方案对我有用。但是,按照此在 web.config 中添加 &lt;staticContent&gt; 标记 - /sf/ask/3255615541/ -asp-net-mvc - 对我不起作用。 (2认同)

Ste*_*ggy 5

对我来说,问题是双重的:首先,我处理的 IIS 版本不知道.woff2MIME 类型,只知道.woff. 我修复了在服务器级别使用 IIS 管理器的问题,而不是在 Web 应用程序级别,因此每个新应用程序部署都不会覆盖该设置。(在 IIS 管理器下,我转到 MIME 类型,并添加了缺失的.woff2,然后更新了.woff。)

其次,更重要的是,我将bootstrap.css其他一些文件打包为"~/bundles/css/site". 同时,我的字体文件在"~/fonts". bootstrap.css在 中查找字形字体"../fonts",该字体转换为"~/bundles/fonts"-- 错误的路径。

换句话说,我的包路径是一个太深的目录。我将它重命名为"~/bundles/siteCss",并更新了我在项目中找到的所有对它的引用。现在 bootstrap 寻找"~/fonts"glyphicon 文件,它起作用了。问题解决了。

在我上面固定的第二个问题,没有对的glyphicon字体文件是加载。症状是项目中的所有glyphicon字形实例都只显示一个空框。但是,此症状仅出现在已部署的 Web 应用程序版本中,而不出现在我的开发机器上。我仍然不确定为什么会这样。