一部のモジュールは、特定のページのキャッシュをサイレントにオフにします。これが事実であることを確認し、問題のあるモジュールを特定する最も簡単な方法はどれですか。
最も簡単な方法は、おそらくHTTP応答ヘッダーを検査することです。
たとえば、ブラウザのDOMインスペクタツール(例 Chromeの[ネットワーク]タブ )
キャッシュミス
次に、キャッシュミスを示すdrupal.orgのサンプルレスポンスヘッダーを示します。この場合、Varnishを使用しますが、コアDrupalキャッシュも同様のヘッダーを設定します。
キャッシュヒット
標準のDrupalキャッシュヒットを示しています。
悲しいことに、それはいくつかのコアハッキングを伴います。
ファイルincludes/bootstrap.inc
行を変更
// If there is a cached page, display it.
if ($cache) {
drupal_page_cache_header($cache);
// If the skipping of the bootstrap hooks is not enforced, call hook_exit.
if ($cache_mode != CACHE_AGGRESSIVE) {
bootstrap_invoke_all('exit');
}
// We are done.
exit;
}
// Prepare for non-cached page workflow.
drupal_page_header();
break;
に
// If there is a cached page, display it.
if ($cache) {
header('X-Drupal-Cache: HIT');
drupal_page_cache_header($cache);
// If the skipping of the bootstrap hooks is not enforced, call hook_exit.
if ($cache_mode != CACHE_AGGRESSIVE) {
bootstrap_invoke_all('exit');
}
// We are done.
exit;
}
// Prepare for non-cached page workflow.
header('X-Drupal-Cache: MISS');
drupal_page_header();
break;
残りの指示は Davidの答え とまったく同じです。