我在我公司的网站上使用@font-face,它工作/看起来很棒。除了Firefox和Chrome会在。woff文件上抛出404错误。IE不会抛出错误。我有字体位于根,但我已经尝试了css文件夹中的字体,甚至给出字体的整个url。如果从我的css文件中删除这些字体,我不会得到404,所以我知道这不是语法错误。

另外,我使用fontsquirrel工具创建@font-face字体和代码:

@font-face {
  font-family: 'LaurenCBrownRegular';
  src: url('/laurencb-webfont.eot');
  src: local('☺'), 
    url('/laurencb-webfont.woff') format('woff'), 
    url('/laurencb-webfont.ttf') format('truetype'), 
    url('/laurencb-webfont.svg#webfontaaFhOfws') format('svg');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'FontinSansRegular';
  src: url('/fontin_sans_r_45b-webfont.eot');
  src: local('☺'), 
    url('/fontin_sans_r_45b-webfont.woff') format('woff'), 
    url('/fontin_sans_r_45b-webfont.ttf') format('truetype'), 
    url('/fontin_sans_r_45b-webfont.svg#webfontKJHTwWCi') format('svg');
  font-weight: normal;
  font-style: normal;
}

当前回答

运行IIS服务器管理器(运行命令:inetmgr) 打开Mime类型并添加以下内容

文件扩展名为。woff MIME类型:应用程序/字节流

其他回答

还要检查你的URL改写器。如果发现一些“奇怪”的东西,它可能会抛出404。

如果在添加MIME类型后仍然不能工作,请检查站点的身份验证部分是否启用了“匿名身份验证”,并确保根据给定的屏幕截图选择“应用程序池身份”。

除了Ian的回答之外,我还必须允许请求过滤模块中的字体扩展使其工作。

<system.webServer>
  <staticContent>
    <remove fileExtension=".woff" />
    <remove fileExtension=".woff2" />
    <mimeMap fileExtension=".woff" mimeType="application/x-font-woff" />
    <mimeMap fileExtension=".woff2" mimeType="application/x-font-woff" />
  </staticContent>
  <security>
      <requestFiltering>
          <fileExtensions>
              <add fileExtension=".woff" allowed="true" />
              <add fileExtension=".ttf" allowed="true" />
              <add fileExtension=".woff2" allowed="true" />
          </fileExtensions>
      </requestFiltering>
  </security>    
</system.webServer>

解决:

我不得不使用Mo'Bulletproofer方法

IIS7解决方案

我也遇到过同样的问题。我认为从服务器级做这个配置会更好,因为它适用于所有的网站。

转到IIS根节点,双击“MIME类型” 配置选项 点击右上角Actions面板中的“Add”链接。 这将弹出一个对话框。添加.woff文件扩展名并指定 "application/x-font-woff"作为相应的MIME类型。

为.woff文件扩展名添加MIME类型

以下是我在iis7中解决这个问题的方法