Einige Module deaktivieren das Caching auf bestimmten Seiten stillschweigend. Wie lässt sich am einfachsten überprüfen, ob dies der Fall ist, und auch problematische Module identifizieren?
Einige Module deaktivieren das Caching auf bestimmten Seiten stillschweigend. Wie lässt sich am einfachsten überprüfen, ob dies der Fall ist, und auch problematische Module identifizieren?
Antworten:
Der einfachste Weg ist wahrscheinlich, die HTTP-Antwortheader zu überprüfen.
Zum Beispiel mit dem DOM-Inspektor-Tool Ihres Browsers (z. B. der Registerkarte "Netzwerk" von Chrome )
Cache Miss
Hier sind einige Beispiel-Antwort-Header von drupal.org, die einen Cache-Fehler zeigen. In diesem Fall werden bei Verwendung von Varnish jedoch auch der Kern-Drupal-Cache ähnliche Header gesetzt.
Cache getroffen
Hier ist einer, der einen Standard-Drupal-Cache-Treffer zeigt:
X-Drupal-Cache: HIT
aber auf meiner Drupal 6-Site sehe ich nichts. Es könnte durch Reverse Proxy entfernt werden?
_drupal_bootstrap_page_cache
Leider geht es um einige Kern-Hacking.
In Datei includes/bootstrap.inc
ändern Zeilen von
// 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;
zu
// 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;
und der Rest der Anweisungen ist genau wie in Davids Antwort .