WordPress主题内字体无法显示的解决办法

整设计 0 赞 (0) 936字  预计3分钟 31

wordpress是全球范围内使用较多的网站程序,字体图标由于其轻量、灵活、清晰以及良好的浏览器兼容性已经被广泛用于web开发当中,不过在实际使用当中还是有部分用户遇到了一些问题,最常见的问题就是图标无法正常显示。
WordPress主题内字体无法显示的解决办法
字体图标由于其轻量、灵活、清晰以及良好的浏览器兼容性已经被广泛用于web开发当中,线上的WordPress主题也都内置了字体图标库可供使用。不过在实际使用当中还是有部分用户遇到了一些问题,最常见的问题就是图标无法正常显示。
WordPress主题内字体无法正常显示的原因
静态文件跨域

由于字体文件是不允许跨域的,如果网站对静态文件使用了CDN加速启用了单独的二级域名的话,那么页面在加载字体文件的时候就会遇到字体跨域的问题。

判断是否是字体跨域问题导致可以使用Chrome浏览器访问网站,鼠标右键菜单点击检查调出开发者工具,然后在开发者工具选择Console选项,观察界面是否有Access-Control-Allow-Origin的红色报错提醒关键字。

https访问下引用了http的静态文件
如果网站启用了https的话,则需要使用https的静态文件(css、js、字体、图片)。wordpress正常情况下会自动识别https协议并对css、js文件自动替换成https,不过某些时候由于服务器架构原因(比如反向代理)会有识别成http的情况出现。

服务器未添加MIME类型服务器未添加MIME映射
这个问题一般出现在windows服务器IIS比较多,如果没有添加MIME类型访问字体文件会报404的错误。

判断是否是未添加MIME类型导致的问题可以使用Chrome浏览器访问网站,鼠标右键菜单点击检查调出开发者工具,然后在开发者工具选择Network选项,再选择Font,看下是否有红色404状态的字体文件,如图: 服务器未添加MIME映射

css编码的问题
如果css文件编码不对,也会导致字体图标无法正常显示,一般是显示乱码。

解决办法
跨域问题
跨域问题可以通过添加Access-Control-Allow-Origin: *头信息来解决。

如果是使用了CDN,可以咨询CDN服务商客服如何添加,根据我们了解的情况,简单说下常用的CDN设置方法:

七牛看网上说是需要设置Referer 防盗链白名单,在白名单里面添加网站的域名进去,不过实际测试还是需要在源站添加Access-Control-Allow-Origin: *头信息,然后清除七牛的CDN 缓存。

腾讯云进入CDN域名管理,点击需要配置的域名进入高级配置,点击添加HTTP Header,设置Access-Control-Allow-Origin,值为*,如图:
腾讯云Access-Control-Allow-Origin
阿里云进入CDN域名管理,选择对应域名点击管理,进入缓存配置>HTTP头>添加,如图:
http头设置
https与http问题
如网站启用https,则需将所有静态文件全部修改成https即可,具体可以找下wordpress https配置相关教程。

添加MIME映射
服务器需要添加以下格式的mime映射,前面是格式名,后面是mime类型:

.svg             image/svg+xml .woff            application/x-font-woff .woff2         application/x-font-woff

具体添加方式的话,如果是虚拟主机可以找下主机后台管理面板,一般是可以自己添加的,如果是iis服务器.

css编码的问题
这个问题可以联系开发人员处理。

注:本文转载自互联网 实际测试有效

如果您喜欢这篇文章,欢迎在下方留言评论哦~
发表您的看法
选择表情