« [Inside AoD !] LXSAOD2.Feeder オブジェクト (v1.0) | Main | 透過PNG と IE と IE7 »

.jgz と .js.gz と Apache の設定

こぶたのラッパの「世界の片隅で.jgzと言ってみる
odz bufferの「Apache で gzip 圧縮されたファイルを返す」「Safari と gzip 圧縮 JavaScript

等で語られている gzip 圧縮の話ですが、Apache の設定はあまり詳しくありませんが、自分の為にメモっときます。

1.mod_rewrite で .js -> .js.gz にした時、Apache の設定(.htaccess では無いデフォルトの設定)によっては、
Content-Type: application/x-gzip
になってしまって、どのブラウザでも上手く行かない場合がある。
設定方法を勉強しなくっちゃ。
ちなみに、うちのサーバーの場合、Apache 2.0.52 (×)、Apache 1.3.34(○)

2..jgz の場合は、Apache の設定によらず、
Content-Type: text/javascript
Content-Encoding: gzip
を返して、上手く行く。
これは新たに.jgz に対して AddType と AddEncoding するから、当たり前っちゃ当たり前?
ちなみに、Apache 2.0.52(○)、Apache 1.3.34(○)

3.1.2.の場合共に、2.のようにレスポンスした場合、Safari 2.0.4 419.3 では、上手く機能しているようである。

とりあえず、今のところは、
1.がOKのサーバーには .js.gz 用の .htaccess、NGの場合は、.jgz 用の .htaccess で対応しています。

解決方法を見つけなくっちゃ。
っていうか誰か教えて。


と、思ったら、

mod_mimeは黒魔術のような気がする に良さそうなのがありました。

ForceType を使う方法だそうで。

ForceType text/javascript
AddEncoding x-gzip .gz

ってことですかね?

明日試してみましょう。


で、試してみたら、

やったぁ~!
出来ました。

JavaScirpt 用のディレクトリで、.htaccess は以下です。
RewriteEngine on
RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteCond %{REQUEST_FILENAME} !\.gz$
RewriteCond %{REQUEST_FILENAME}\.gz -s
RewriteRule .+ %{REQUEST_URI}.gz

ForceType text/javascript
AddEncoding x-gzip .gz
これで、お世話になった .jgz は引退することになりました(^^

TrackBack

TrackBack URL for this entry:
http://blog.l-xs.com/cgi-bin/mt/mt-tb.cgi/230

Listed below are links to weblogs that reference .jgz と .js.gz と Apache の設定:

» JavaScriptを圧縮してみた。 from デザインウォーカー | DesignWalker - ロサンゼルスで働くウェブデザイナーの日記
zip形式やらlzh形式などのファイル圧縮は毎日のように使っておりますが。。ブログやウェブサイトから呼び込んでいるJavaScriptなんかも圧縮できるんですねぇ。。へぇ~。。知らんかった�... [Read More]

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)