为什么@ font-face在woff文件上引发404错误?

梦想的初衷 提交于 2020-02-25 19:13:31

我在公司网站上使用@font-face ,它工作正常/看起来很棒。 除Firefox和Chrome以外, .woff文件将引发404错误。 IE不会引发错误。 我的字体位于根目录,但我尝试使用css文件夹中的字体,甚至提供字体的整个URL。 如果从我的css文件中删除那些字体,我不会得到404,所以我知道这不是语法错误。

另外,我使用了fontsquirrels工具来创建@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;
}

#1楼

IIS7解决方案

我也遇到了同样的问题。 我认为从服务器级别进行此配置会更好,因为它适用于所有网站。

  1. 转到IIS 根节点,然后双击“ MIME类型”配置选项

  2. 点击右上角“动作”面板中的“添加”链接。

  3. 这将弹出一个对话框。 添加.woff文件扩展名,并将“ application / x-font-woff”指定为相应的MIME类型。

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

这是我为解决IIS 7中的问题所做的工作


#2楼

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

文件扩展名: .woff

MIME类型 :application / octet-stream


#3楼

我尝试了很多有关权限,mime类型等的事情,但对我而言,最终结果是web.config删除了IIS中的静态文件处理程序,然后将其显式添加回具有静态文件的目录中。 一旦我为目录添加了位置节点并添加了处理程序,请求就停止获取404。


#4楼

如果您无权访问您的Web服务器配置,则也可以只重命名字体文件,使其以svg结尾(但保留格式)。 在Chrome和Firefox中对我来说效果很好。


#5楼

如果您在IIS7下使用CodeIgniter:

在您的web.config文件中,将woff添加到模式中

<rule name="Rewrite CI Index">
  <match url=".*" />
    <conditions>
      <add input="{REQUEST_FILENAME}" pattern="css|js|jpg|jpeg|png|gif|ico|htm|html|woff" negate="true" />
    </conditions>
    <action type="Rewrite" url="index.php/{R:0}" />
 </rule>

希望能帮助到你 !

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!