1

私のindex.phpページはキャッシュされ続け、これを使用しているにもかかわらず、古いタイマー値などが表示されます。

session_cache_limiter( 'nocache' );
session_start( );
header( 'Cache-Control: no-cache, must-revalidate, post-check=0, pre-check=0' );

ブラウザがページをキャッシュしないようにします。Fireflyで出力されたヘッダーを確認しましたが、次のように表示されます。

Cache-Control:private, max-age=10800, pre-check=10800

私はこれをHTMLMETAで使用していました。

<META HTTP-EQUIV="cache-control" content="no-cache" />
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="-1">

しかし、それらが干渉しているかどうかを確認するために、それらをすでに無効にしていますが、有効または無効にしても違いはありません。

すべての助けに感謝します!

4

2 に答える 2

3

FireFlyで出力されるヘッダーは、引き続きCache-Control private、max-age = 10800、pre-check = 10800、no-cache、must-revalidate、post-check = 0、pre-check = 0

これは、これを設定しているため、次のことを意味します。

Cache-Control: no-cache, must-revalidate, post-check=0, pre-check=0

アプリ/ページの他のコンポーネント/構成はこれを設定しています:

Cache-Control: private, max-age=10800, pre-check=10800

両方ともエンドユーザーに送信されます。「Cache-Control:private」は、ブラウザが値を読み取るときに値を上書きし、ページがキャッシュされるようにします。

注:header()はデフォルトで以前に設定されたヘッダーをオーバーライドします。したがって、コード行の後に何かが設定されている可能性があります。これは、行が以前のヘッダーをオーバーライドする必要があるためです。

これらの「プライベート」キャッシュ制御ヘッダーを設定しているものを見つけて、それを無効化/コメントする必要があります。そうしないと、機能しません。たぶん、コードの後半にある他のセクションですか?

于 2012-09-26T10:42:24.407 に答える
1

キャッシュの有効期限を古い日付に設定します。

header( 'Expires: Fri, 01 Jan 2010 00:00:00 GMT' );
于 2012-09-26T10:18:53.513 に答える