Dedehtml.com

font-face字体文件跨域解决办法

摘要:已拦截跨源请求:同源策略禁止读取位于 https://www.dedehtml.com/fonts/fontawesome-webfont.woff2?v=4.7.0 的远程资源。(原因:CORS 头缺少 'Access-Control-Allow-Origin')

当你在二级域名访问一级域名的字体文件时,浏览器会阻止并报提示

已拦截跨源请求:同源策略禁止读取位于 https://www.dedehtml.com/fonts/fontawesome-webfont.woff?v=4.7.0 的远程资源。(原因:CORS 头缺少 'Access-Control-Allow-Origin')

已拦截跨源请求:同源策略禁止读取位于 https://www.dedehtml.com/fonts/fontawesome-webfont2.woff?v=4.7.0 的远程资源。(原因:CORS 头缺少 'Access-Control-Allow-Origin')

原因很简单,服务器阻止了字体跨域访问了,解决方法也很简单

第一种方法:把字体文件放到二级目录里,用二级目录的域名链接css文件

例如

<link rel="stylesheet" href="https://m.dedehtml.com/font/font-awesome.min.css">

第二种方法:在主域名的环境配置文件里加入允许字体跨域

apache环境 域名conf文件里加入

Header set Access-Control-Allow-Origin "*"

nginx环境 域名conf文件里加入

location ~* \.(ttf|ttc|otf|eot|woff|woff2|font.css)$ {
	add_header Access-Control-Allow-Origin *;
}

IIS环境 首先确保iis网站上已经添加mine类型

AddType application/vnd.ms-fontobject .eot
AddType font/ttf .ttf
AddType font/otf .otf
AddType application/x-font-woff woff

再打开 HTTP 响应标头中添加

名称:Access-Control-Allow-Origin

值:*

重启iis

版权声明:本文为博主原创文章,未经博主允许不得转载。https://www.dedehtml.com/help/font-face-access-control-allow-origin.html
(3)
打赏 微信扫一扫 微信 支付宝 QQ 扫码打赏

iis环境下字体图标不显示的原因与解决方法

Dedehtml赞(3)

在IIS上部署web项目的时候,发现浏览器总是报找不到woff、woff2字体的错误,导致浏览器加载字体报404错误,因为服务器IIS不认SVG,WOFF/WOFF2 这几个文件类型,只要在IIS上添加MIME 类型即可。