Font Face在IIS 8.0中不起作用

时间:2014-09-11 20:44:46

标签: css iis fonts woff2

我在使用Font Squirrel生成的程序中有一个font-face我无法让它在IIS中运行,它可以在localhost中运行。我将 application / font-woff article添加到我的MIME类型中,但它仍然不想工作。

Context
--Fonts
----font location
--css files

CSS

@font-face {
    font-family: 'wallStreetFont';
    src: url('Fonts/subway-webfont.eot');
    src: url('Fonts/subway-webfont.eot?#iefix') format('embedded-opentype'),
         url('Fonts/subway-webfont.woff2') format('woff2'),
         url('Fonts/subway-webfont.woff') format('woff'),
         url('Fonts/subway-webfont.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

编辑当前MIME

我使用默认的IIS 8 MIME font / x-woff

5 个答案:

答案 0 :(得分:250)

很高兴看到WOFF2被包含在Font Squirrel字体中!虽然IIS 8不需要为WOFF添加mime类型,但WOFF2需要一个mime类型。 W3C recommends

application/font-woff2

有关WOFF2的更多信息,请参阅here

要在IIS中添加mime类型,请按以下步骤修改Web.Config

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <!-- ... -->
  <system.webServer>
    <!-- ... -->
    <staticContent>
      <!-- ... -->
      <mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />

答案 1 :(得分:75)

为了使woff和woff2字体在IIS中正常工作,您应该将以下MIME类型添加到Web.Config文件中。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>  
  <system.webServer>    
    <staticContent>
        <remove fileExtension=".woff" />
        <remove fileExtension=".woff2" />
        <mimeMap fileExtension=".woff" mimeType="application/x-font-woff" />
        <mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />
    </staticContent>

如果您仍然在Google Chrome上遇到404错误,则应在重新加载页面之前清除浏览器缓存。

答案 2 :(得分:24)

请注意,还可以在IIS管理器中配置MIME类型。只需选择网站,然后双击主窗格中IIS下的MIME类型图标。

enter image description here

然后,您应该会看到所有现有MIME类型的列表,并且可以使用右侧窗格中的“添加...”链接添加新的MIME类型。

答案 3 :(得分:0)

今天,在部署Web解决方案Metro4 UI图标并将CDN切换为“已编译”选项时遇到了这个问题。

我的项目是使用WebSharper平台开发的,但是该解决方案始终独立于这些实现细节。

长话短说,我发现我必须添加文件扩展名,例如.ttf的{​​{1}}下security部分内的system.webServer

Web.config

在IIS的GUI设置下也可以使用相同的配置选项

IIS GUI

答案 4 :(得分:0)

我正在做以下事情:

  1. MVC5 中的捆绑
  2. 构建引导程序
  3. 在引导程序中使用@font-face

我在服务器上部署了一个 min.css 文件,该非 min 文件包含在包中。一旦我删除了 .min.css 文件。一切都奏效了。