ページ

2013年12月4日水曜日

zipファイルの gzip圧縮にはまる。 apacheの設定

zipファイルの gzip圧縮にはまる。はめられる?

ブラウザからファイルをzipファイルをダウンロードすると変なヘッダが付与されるように見える。

IE9では出ない症状でXPのIE8で起きていた現象でした。

最初は解凍ソフトの問題かと思って
フォルダを含めてみたり、ファイルだけを、日本語を外して圧縮してみたけど変わらず。


mime-type の問題かと思って
application/x-zip-compressed となっているところを
application/zip


に変えてみたけど治らない。

ファイルをバイナリで開いてみてヘッダの確認。
ヘッダの 1f  8b 08 00 を検索してみてやっと。。zipファイルがgzip圧縮されていることに気づく。



ここからがまた、
何かが zip と gzip を勘違いしている? とかとんでもない勘違いをして
探ってみる。



そしてようやく原因に辿りついたのが。

「Apache の gzip 圧縮転送が 有効になっている。」



と言うか元々の設定が圧縮転送が有効になっていた様で特に変更した覚えも無く。

gzipの圧縮転送自体に非はないので有効にしたまま、圧縮しなくていいファイルの種類を追記することにしました。


httpd.conf で 圧縮転送の設定に
いくつかのファイル、圧縮しても意味がないファイルの拡張子を追記して対応完了。
業務用なのでこの程度でしょうか。



SetOutputFilter DEFLATE
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
SetEnvIfNoCase Request_URI \.(gif|jpe?g|png|swf|ico|lzh|zip|docx|xlsx|pptx|pdf)$ no-gzip dont-vary
Header append Vary User-Agent env=!dont-vary

0 件のコメント:

コメントを投稿