Pregunta

Aquí hay una lista de cosas que probé en orden aleatorio:

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");

A pesar de que todos los archivos PHP del servidor de conseguir gzip usando zlib, en sustitución de la extensión .php .otf por no funcionaron bien.

¿Fue útil?

Solución

Con .htaccess, se puede hacer de esta manera, asumiendo archivo de fuente es fontfile.otf.gz, petición del navegador que a medida que 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>

Y si el archivo fuente y el sitio web es de varios dominios, es necesario poner Access-Control-Allow-Origin, Firefox no se carga fuente objetos entre dominios .

  

En Gecko, fuentes web están sujetos a la   misma restricción de dominio (ficheros   debe estar en el mismo dominio que la página   usarlos), a menos que el acceso HTTP   controles se utilizan para relajar este   restricción.

Header set Access-Control-Allow-Origin *
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top