-1

以下のコードは以前は問題ありませんでした。しかし今、ブラウザーが .php ファイルをキャッシュしないことがわかりました。なんで?私のサイトは共有ホストにあります。ホストは応答しません。.php 以外の html、js、css、png などの他の拡張ファイルはすべてキャッシュされます。

Header unset Pragma
FileETag None
Header unset ETag

# 1 YEAR
<filesMatch ".(ico|pdf|flv|jpg|jpeg|png|gif|swf|mp3|mp4)$">
Header set Cache-Control "public"
Header set Expires "Thu, 15 Apr 2015 20:00:00 GMT"
Header unset Last-Modified
</filesMatch>


# 2 HOURS
<filesMatch ".(html|htm|xml|txt|xsl|php)$">
Header set Cache-Control "max-age=7200, public"

</filesMatch>

<filesMatch ".(js|css)$">
Header set Cache-Control "public"
Header set Expires "Thu, 15 Apr 2014 20:00:00 GMT"
Header unset Last-Modified
</filesMatch>
4

1 に答える 1

1

PHP ファイルは実行するたびに異なる出力を生成する可能性があるため、サーバーは出力のキャッシュ コマンドを送信しません。次回は異なる可能性があります。

PHP によって生成された出力に Cache-control ヘッダーを含めるか、PHP スクリプトから ContentType ヘッダーを指定することで、キャッシュを強制できます。

これらのうちどれがより良いアプローチであるかは、スクリプトが何をしているかによって異なります。どちらの方法でも、アプリケーションで必要な場合は、キャッシュを細かく制御できます。

于 2013-06-16T05:21:51.773 に答える