引用字体时图标无法显示_字体文件不存在问题
内容分发网络部署后,FontAwesome字体图标显示异常,图标变为空白。原因为字体文件未加入缓存,导致跨域请求报错,浏览器提示文件不存在。解决方法:在源服务器添加woff、woff2等MIME类型,并配置跨域头,同时设置正确的Content-Type。建议清除浏览器缓存后重新加载。
最近一个项目,CSS和JS静态资源部署到CDN后,浏览网站时发现Font Awesome字体图标全部无法正常显示,只显示一些奇怪的符号。浏览器控制台报错:font-face引用字体跨域。
使用CDN后字体图片不显示问题
1. 先检查字体文件路径,发现它和URL路径都是HTTPS协议,而且二级域名也完全一致。这就奇怪了——同源同协议,怎么还会报字体跨域?
跨域:当一个资源从与该资源本身所在的服务器不同的域或端口请求一个资源时,资源会发起一个跨域 HTTP 请求。
2. 突然想起来,CSS已经做了CDN部署,但字体文件(.eot、.woff、.woff2)并没有加入CDN缓存。于是赶紧把字体文件格式也加到CDN配置里。
3. 强制刷新网页后,发现还是不行,但控制台报错信息变了——这次提示“字体文件不存在”。试着复制字体文件到本地,发现也无法打开。
IIS中字体文件不存在问题
浏览器里提示字体文件无法打开,但服务器上文件确实存在。问题出在服务器不认识这种文件类型——需要手动添加MIME类型。
IIS添加MIME类型
.woff2 application/x-font-woff
nginx
location ~* \.(eot|otf|ttf|woff|woff2|svg)$ {add_header Access-Control-Allow-Origin *;}AddType application/x-font-woff woffAddType application/x-font-woff2 woff2
Apache
location ~* \.(eot|otf|ttf|woff|woff2|svg)$ {add_header Access-Control-Allow-Origin *;}AddType application/x-font-woff woffAddType application/x-font-woff2 woff2
Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。
Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。















