我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

苏南大叔,在折腾wordpress皮肤的时候,发现:一些皮肤下面出现了奇怪的500问题,仔细看看确,都是些字体和svg资源的请求,会显示500错误。但是同样配置下面的普通站点,却没有这种情况发生。所以,可以怀疑和wordpress的特殊机制有关系。wordpress是要把所有的请求都转移到index.php上面进行处理的。也许这就是问题所在。不过,这个结论还有待观察。

苏南大叔:nginx/apache配置,如何识别svg及字体文件? - nginx-svg
nginx/apache配置,如何识别svg及字体文件?(图3-1)

修改nginx设置

解决方案,却是去修改nginx的相关配置,修改nginxmime.types文件,使之能够识别字体文件类型:

苏南大叔:nginx/apache配置,如何识别svg及字体文件? - svg
nginx/apache配置,如何识别svg及字体文件?(图3-2)

苏南大叔:nginx/apache配置,如何识别svg及字体文件? - nginx
nginx/apache配置,如何识别svg及字体文件?(图3-3)

application/x-font-ttf                ttc ttf;
application/x-font-otf                otf;
application/font-woff                 woff;
application/font-woff2                woff2;
application/vnd.ms-fontobject         eot;
image/svg+xml                         svg svgz;

注意:请按需要添加。

添加成功后,在nginxvhost.conf的合适位置,添加如下代码即可。

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

配置完成,执行nginx重载配置即可生效。

nginx -s reload

apache类似设置

Apache下面的类似设置如下:

AddType application/x-font-ttf           ttc ttf
AddType application/x-font-otf           otf
AddType application/font-woff            woff
AddType application/font-woff2           woff2
AddType application/vnd.ms-fontobject    eot
<FilesMatch ".(eot|ttf|otf|woff|woff2)">
  Header set Access-Control-Allow-Origin "*"
</FilesMatch>

当然,apache除了写在httpd.conf文件下面之外,还可以写在开启了htaccess功能站点的.htaccess文件中。

结语

感谢您的阅读,希望本篇文章能够顺利解决困扰你的问题。想查看苏南大叔的更多nginx经验文章么?请点击这里查看:https://newsn.net/tag/nginx/

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   nginx    apache