Firefoxでrandom()
twigを使用するサイトにページがあり、ページが読み込まれるとすぐにキャッシュされるため、Chrome)は動作しません。
Apache configsを介して特定のファイルのキャッシュをオフにする方法はありますか?default.html
またはさらに良いのは、そのファイルのスクリプト部分のキャッシュをオフにして、画像ファイルのキャッシュを維持するだけですか?
私が試してみました .htaccess
しかし、これは機能しません。
現在、スクリプトを機能させる唯一の方法は、PHPヘッダーを使用してグローバルにキャッシュをオフにすることです:
<?php
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', FALSE);
header('Pragma: no-cache');
?>
しかし、個々のページのキャッシュをオフにするだけでよいので、すべてのキャッシュをオフにするのはおかしいようです。
特定のファイル(この場合はindex.php
)を対象とするには、このコードを.htaccess
の最後に追加します
<Files index.php>
FileETag None
Header unset ETag
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
</Files>
または、特定のファイルの選択をターゲットにする、つまり画像をキャッシュしたいが、他には何もない(html, htm, js, css, php
に一致するファイルはキャッシュされない):
<filesMatch "\.(html|htm|js|css|php)$">
FileETag None
Header unset ETag
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
</filesMatch>
.htaccess
が読み取られていることを確認するために、下部に数行のゴミを入力しました。読み取られていないことがわかり、htaccess
から.htaccess
に名前を変更しました。