apache需配置mime类型以正确传输字体文件,包括addtype指令声明woff2/woff/ttf/otf/eot类型,并启用mod_mime模块;共享主机可改用.htaccess;还需通过filesmatch设置access-control-allow-origin响应头解决跨域问题。

要让 Apache 正确识别并传输字体文件(如 .woff2、.woff、.ttf、.eot、.otf),关键是在配置中声明对应的 MIME 类型,否则浏览器可能拒绝加载或报“MIME type not supported”错误。
在主配置文件中添加 AddType 指令
打开 Apache 主配置文件(通常是 httpd.conf 或 apache2.conf),在 <ifmodule mime_module></ifmodule> 区块内添加以下行:
AddType application/font-woff2 .woff2AddType application/font-woff .woffAddType application/font-sfnt .ttf .otfAddType application/vnd.ms-fontobject .eot
如果该模块未启用,需先确认 LoadModule mime_module modules/mod_mime.so 已取消注释。
通过 .htaccess 文件临时启用(仅限支持 mod_mime 的环境)
若无法修改主配置(如共享主机),可在网站根目录新建或编辑 .htaccess 文件,加入:
PHP中文网提供Apache 2.4.62 官方 tar.gz 源码包下载,通过源码编译安装,开发者能够灵活定制模块、优化性能并精准控制安装路径,满足多样化的业务需求。
AddType application/font-woff2 .woff2AddType application/font-woff .woffAddType application/font-sfnt .ttf .otfAddType application/vnd.ms-fontobject .eot
注意:此方式仅对 Apache 生效,Nginx 完全忽略 .htaccess;且需确保服务器启用了 AllowOverride All 或至少包含 FileInfo 权限。
补充 CORS 支持(防止跨域字体拦截)
字体文件常被跨域请求(如 CDN 或子域名调用),需额外设置响应头。在配置文件或 .htaccess 中追加:
<filesmatch></filesmatch>Header set Access-Control-Allow-Origin "*"
如需更严格控制,可将 * 替换为具体域名(如 "https://example.com")。
验证与生效
完成修改后务必执行:
- 检查语法:
apachectl configtest或apache2ctl configtest - 重启服务:
systemctl restart apache2(Debian/Ubuntu)或systemctl restart httpd(RHEL/CentOS) - 用浏览器开发者工具的 Network 标签页查看字体请求,确认响应头中
Content-Type值正确(如application/font-woff2)










