Windfly`s Blog-一个注重技术分享的博客
  1. 首页
  2. 解决方案
  3. 内容

实现字体跨域

  • 场景:设置静态资源服务器时发现:

Font from origin 'http://start.fbzl.org' has been blocked from loading by Cross-Origin Resource Sharing policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://lib.fbzl.org' is therefore not allowed access.

  • 原因:

    这里我给静态资源单独设置了一个域名,其它页面调用时发生了跨越权限问题。


  • 各服务器下的解决方案

Nginx解决办法:

add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Headers X-Requested-With;
add_header Access-Control-Allow-Methods GET,POST,OPTIONS;

或者:
location ~* \.(eot|ttf|woff)$ {
    add_header Access-Control-Allow-Origin *;
}

将这段代码添加到 http{} 或者静态资源对应的 server{} 中,

如果只为自己的网站使用可以将第一行代码的星号改为自己的域名,例如“*.fbzl.org”

Apache解决办法:

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

  linux 跨域 服务器 apache
分享到

作者  :  windfly

本文由 windfly 原创,未经作者许可禁止转载!转载若许可请注明来自 Windfly`s Blog



评论列表