.htaccessを使用してgzipedフォントを提供するには? (非MOD GZIPないかDEFLATE)

StackOverflow https://stackoverflow.com/questions/2042052

質問

ここで私は、ランダムな順序で試したもののリストです:

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によって.OTFの拡張子を置き換えるのzlibを使用してgzipで圧縮されますサーバーのすべてのPHPファイルは、いずれかの動作しませんでしたにもかかわらずます。

役に立ちましたか?

解決

は.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>

とフォントファイルとWebサイトがクロスドメインであれば、あなたはAccess-Control-Allow-Originを配置する必要があり、Firefoxは<のhref = "https://developer.mozilla.org/index.php?title=En/CSS/をロードしません%40font面」REL = "nofollowをnoreferrer">フォントは、クロスドメインのオブジェクト。

  

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

Header set Access-Control-Allow-Origin *
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top