3

ランダムな順序で試したもののリストは次のとおりです。

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 されますが、拡張子 .otf を .php に置き換えても機能しませんでした。

4

1 に答える 1

4

fontfile.otf.gz.htaccess を使用すると、フォント ファイルが であると仮定して、次のように実行できます。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>

また、フォント ファイルと Web サイトがクロスドメインである場合は、 を配置する必要があります。firefox はクロスドメインのフォント オブジェクトをAccess-Control-Allow-Originロードしません。

Gecko では、HTTP アクセス制御を使用してこの制限を緩和しない限り、Web フォントは同じドメイン制限の対象となります (フォント ファイルは、それらを使用するページと同じドメインにある必要があります)。

Header set Access-Control-Allow-Origin *
于 2010-01-11T13:54:25.123 に答える