已将css移至子域,现在仅在Chrome中加载网络字体

时间:2014-03-09 16:03:21

标签: html css webfonts

出于SEO的目的,我最近将我的css和img目录从www.findgamers.us移动到static.findgamers.us,并且Entypo字体不会在IE或Firefox中加载。具有讽刺意味的是,他们正在Chrome中出现。

我所有的其他风格和图像似乎都很完美。我仍然对为什么它在Chrome中运行良好而不是其他两种浏览器感到困惑。

据我了解,样式表中的网址与样式表的位置有关。 Entypo目录位于样式表所在的css目录中。

以下是样式表中加载字体的内容。

@font-face {
    font-family: 'EntypoRegular';
    src: url('Entypo/entypo-webfont.eot');
    src: url('Entypo/entypo-webfont.eot?#iefix') format('embedded-opentype'),
         url('Entypo/entypo-webfont.woff') format('woff'),
         url('Entypo/entypo-webfont.ttf') format('truetype'),
         url('Entypo/entypo-webfont.svg#EntypoRegular') format('svg');
    font-weight: normal;
    font-style: normal;
}

我已经尝试将完整的网址添加到网址中,就像http://static.findgamers.us/css一样,但它似乎不起作用,我尝试过的任何其他路径选项也没有。

建议?

2 个答案:

答案 0 :(得分:0)

IE和Firefox默认不允许跨域。只有Chrome可以。

所以你必须在样式表中指定url,然后在htaccess或php header设置中允许跨域。例如,这是您在htaccess中必须做的事情。

<FilesMatch "\.(ttf|otf|eot|woff)$">
  <IfModule mod_headers.c>
    Header set Access-Control-Allow-Origin: "*"
  </IfModule>
</FilesMatch>

答案 1 :(得分:-2)

可能不是您想要听到的答案 - 但如果有效,请将它们移回旧配置?

作为一个SEO(有很多网站加载速度经验)我可以告诉你两件事:

1)在子域名中使用CSS无助于SEO。

2)将内容移动到“无cookie”子域名将提高加载速度有点神话。它往往会减慢速度。这既来自经验,也来自参考。

我可以100%确认将有所帮助,缩小CSS,正确的过期/缓存规则和GZIP。

希望这有帮助! 科林