我遇到了字体 (font awesome) 的问题。我搜索了解决方法,发现导致问题的原因是版本查询('../fonts/fontawesome-webfont.woff2?v=4.7.0')
,但就我的情况而言,这并不能解决问题。
我注意到问题出在nginx
conf 文件中:
location / {
try_files $uri $uri/ /index.php?$args;
rewrite ^/(.*)$ /index.php?p=$1 last;
}
如果我删除该rewrite ^/(.*)$ /index.php?p=$1 last;
行,字体就可以正常加载。
Firefox 的显示内容如下:
可下载字体:被 sanitizer 拒绝(字体系列:“FontAwesome”样式:正常重量:正常拉伸:正常 src 索引:1)来源:http://example.com/assets/font-awesome/fonts/fontawesome-webfont.woff2
以下是 chrome 所说的内容:
无法解码下载的字体:http://example.com/assets/font-awesome/fonts/fontawesome-webfont.woff2 (索引):1 OTS 解析错误:版本标签无效
答案1
我已经在 nginx conf 中添加了以下内容,并且正在运行
location ~* \.(eot|otf|ttf|woff|woff2)$ { add_header Access-Control-Allow-Origin *; }
但我依然不相信这是因为这个。
答案2
对于那些在 nginx 服务器上托管字体时仍然收到“可下载字体被清理程序拒绝”的迷茫之人。我检查了我的 nginx 日志 /var/log/nginx/error.log,猜猜是什么:字体文件夹的权限错误掌面
...."/var/www/example/public/static/fonts/fontname.woff" failed (13: Permission denied)