Pergunta

Aqui está uma lista de coisas que eu tentei em ordem aleatória:

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

Apesar de todos os arquivos PHP do get servidor compactado usando zlib, substituindo a extensão .otf por .php não quer trabalhar.

Foi útil?

Solução

Com .htaccess, você poderia fazer assim, assumindo arquivo de fonte é fontfile.otf.gz, solicitação do navegador que, como 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>

E se o arquivo fonte e web site é cross-domain, você precisa colocar Access-Control-Allow-Origin, o Firefox não irá carregar fonte objetos de domínio cruzado .

No Gecko, fontes web estão sujeitos à mesma restrição de domínio (arquivos de fonte deve estar no mesmo domínio que a página usá-los), a menos que o acesso HTTP controles são usados ??para relaxar este restrição.

Header set Access-Control-Allow-Origin *
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top