以下是我按随机顺序尝试过的内容列表:
AddHandler application/x-httpd-php .otf
AddType
default_mimetype
auto_prepend_file = "otf.php"
zlib.output_compression = On
output_handler = ob_gzhandler
header("Content-type: application/octet-stream");
尽管服务器的所有 PHP 文件都使用 zlib 进行了 gzip 压缩,但用 .php 替换 .otf 扩展名也不起作用。
使用 .htaccess,你可以这样做,假设字体文件是fontfile.otf.gz
,浏览器请求为fontfile.otf
RewriteEngine On
#Check for browser's Accept-Encoding, remove it for force return gzipped one
RewriteCond "%{HTTP:Accept-Encoding}" "gzip.*deflate|deflate.*gzip"
#check file name is endswith otf
RewriteCond %{REQUEST_FILENAME} "\.(otf)$"
#check existance of .gz file name
RewriteCond %{REQUEST_FILENAME}.gz -s
#rewrite it to .otf.gz
RewriteRule ^.*$ %{REQUEST_URI}.gz [L]
#update some response header
<FilesMatch "\.otf\.gz$">
AddEncoding gzip .gz
ForceType "text/plain"
</FilesMatch>
如果字体文件和网站是跨域的,则需要将Access-Control-Allow-Origin
, 火狐浏览器不会加载跨域字体对象 https://developer.mozilla.org/index.php?title=En/CSS/%40font-face.
在 Gecko 中,网络字体受
相同域限制(字体文件
必须与页面位于同一域中
使用它们),除非 HTTP 访问
控件用于放松这一点
限制。
Header set Access-Control-Allow-Origin *
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)