2

私は2つのことに興味があります:

T.1) mod_pagespeed は、html、xml...、ドキュメントを除く各ファイルに Expires ヘッダー値をインストールしました。では、各ファイルとフォルダーの時間を変更するにはどうすればよいですか? このモジュールはそれを行うことができますか?

最初のタスクの例が必要ないことを願っています。

T.2) mod_pagespeed は、キャッシュされた各ファイルが変更されてから 3 ~ 4 分後に更新します。したがって、ファイルの内容を変更すると、3〜4分後に更新されて更新されます。このモジュールでどのように時間を制御できますか?

2 番目の質問の例:

test.jpg という名前の JPEG 画像を保存し、ブラウザで次のように更新しました。

ローカルホスト/画像/test.jpg

次に、このファイルをイメージ エディターで変更し、再保存します。このファイルはブラウザのキャッシュに保存され、3 ~ 4 分後にブラウザでレンダリングされます。ということで、今回はファイルやフォルダごとに制御したいと思います。

PS: 皆さん、私は本当にあなたの助けが必要です! この問題を解決しようとして丸一週間殺されました。

4

1 に答える 1

2

少し背景:mod_pagespeedは、リソースのキャッシュライフタイムを延長し、リソース名に一意のハッシュコードを追加して、ユーザーのキャッシュ可能性を向上させ、リピーターのページ読み込みを高速化します。

ご指摘のとおり、mod_pagespeedにとって重要な2つの異なるキャッシュライフタイムがあります。

(T.1)は、キャッシュの有効期間mod_pagespeedセットです。現在1年に設定されており、カスタマイズはできないと思います。ただし、URLに一意のハッシュコードを追加するため、ほとんどの場合、これをカスタマイズする必要はありません。mod_pagespeedは、リソースが変更されたことを認識するとすぐに、HTMLファイルに別のURLを挿入し、ユーザーキャッシュを更新します。

(T.2)は、リソースの元のキャッシュライフタイム(デフォルトでは5分)です。mod_pagespeedは、有効期限が切れるたびにファイルをリロードするため、3〜4分の遅延が見られます。これを改善する方法はいくつかあります。ファイルが完全に静的である場合は、ModPagespeedLoadFromFileを使用できます。そのディレクティブを使用すると、mod_pagespeedはHTMLを書き換えるたびにファイルをチェックします。つまり、リソースは即座に更新されます。LoadFromFileを使用できない場合は、Apacheのリソースのキャッシュライフタイムを明示的に短く設定できます。例えば:

<Directory ".../foo/">
  ExpiresByType image/gif "modification plus 3 minutes"
  ExpiresByType text/css  "modification plus 1 minute"
</Directory>
<Directory ".../bar/">
  ExpiresByType text/css "modification plus 5 minutes"
</Directory>

ただし、この時間を短縮すると、mod_pagespeedがリソースを要求する頻度が高くなり(上記のfoo /ディレクトリのCSSファイルの場合は1分ごと)、サーバーに不必要に負荷がかかる可能性があることに注意してください。別の解決策は、開発中にmod_pagespeedキャッシュをクリアすることです。これにより、開発時にサーバーをすばやく更新できますが、それ以外の時間にサーバーに不必要な負担をかけることはありません。

于 2012-07-17T17:46:29.417 に答える