1

UbuntuマシンのApache2でmod_deflateを有効にしたところ、ページの更新時にブラウザーが圧縮ファイルタイプをキャッシュしないことに気付きました。私はfirebugのネット設定を使用してこれを確認し、別のコンピューターで確認しました。

mod_deflateで、cssファイルとjsファイルを圧縮すると、ブラウザーは毎回リクエストを行います。

mod_deflateをオフにすると、ブラウザーはcssファイルとjsファイルに対して304を取得します。正味の効果は、mod_deflateを有効にしていない場合、更新時にページの読み込みが速くなることです。

私がオンにした他のモジュールの1つがこれを引き起こしている可能性がありますか?正しく設定していないApacheのキャッシュ設定のようなものはありますか?

私のmods対応ディレクトリ: alias.conf
authz_default.load
autoindex.conf
deflate.load
mime.conf
php5.conf
setenvif.load
alias.load
authz_groupfile.load
autoindex.load
dir.conf
mime.load
php5.loadssl.confauth_digest 。 load authz_host.load cgi.load dir.load negotiation.conf rewrite.load ssl.load authn_file.load authz_user.load deflate.conf env.load社 案、 load setenvif.conf













4

2 に答える 2

0

前に回答したと思っていたのですが、投稿されませんでした。二重投稿になってしまったらごめんなさい。

問題の原因は etags であることが判明しました。理由はわかりませんが、etags をオフにすると、ブラウザーは正しくキャッシュを開始しました。Google で FileETags を検索します。

なぜ etags をオフにするとこのようになるのか、私にはわかりません... 誰かが知っている場合は、このスレッドに投稿してください。ありがとう!

于 2009-05-30T00:12:19.043 に答える
0

これは実際には、gzip を使用した Etags に関する Apache のバグです。

https://issues.apache.org/bugzilla/show_bug.cgi?id=45023

ETag を有効にすると機能しますが、より良い回避策があります。

<IfModule mod_headers.c>
    RequestHeader  edit "If-None-Match" "^(.*)-gzip$" "$1"
    Header  edit "ETag" "^(.*[^g][^z][^i][^p])$" "$1-gzip"
</IfModule>
于 2009-11-12T15:41:15.400 に答える