Cache-Control auf All-Inkl konfigurieren

Sicherheitsrelevante Cache-Direktiven auf Ihrem All-Inkl Webhosting — HTML-Seiten nicht cachen, statische Assets lang cachen mit mod_headers und mod_expires.

All-Inkl · Schritt für Schritt

Cache-Control auf All-Inkl

Cache-Control steuert, wie Browser und Proxies Ihre Inhalte cachen. Aus Sicherheitsperspektive ist entscheidend: Sensible Seiten (Login, Dashboard, Checkout) dürfen nicht gecacht werden, damit veraltete oder persönliche Daten nicht aus dem Cache ausgeliefert werden. Im Wolf-Agents Web Security Check bringt Cache-Control 8 von 166 Punkten.

Auf All-Inkl sind sowohl mod_headers als auch mod_expires aktiv. Sie konfigurieren Cache-Control per .htaccess mit FilesMatch-Direktiven, um HTML-Seiten und statische Assets unterschiedlich zu behandeln.

Cache-Control auf All-Inkl implementieren

Verwenden Sie FilesMatch-Direktiven, um HTML/PHP und statische Assets unterschiedlich zu cachen. HTML-Seiten erhalten no-cache, no-store, statische Assets max-age=31536000, immutable.

.htaccess (empfohlen)
/www/htdocs/[username]/[domain]/.htaccess Produktiv
# /www/htdocs/[username]/[domain]/.htaccess

# Sicherheitsrelevante Cache-Control für HTML-Seiten
<IfModule mod_headers.c>
    # HTML: Nicht cachen (sensible Seiten)
    <FilesMatch "\.(html|php)$">
        Header set Cache-Control "no-cache, no-store, must-revalidate"
        Header set Pragma "no-cache"
    </FilesMatch>

    # Statische Assets: Lang cachen mit Immutable
    <FilesMatch "\.(js|css|woff2|png|jpg|svg|webp)$">
        Header set Cache-Control "public, max-age=31536000, immutable"
    </FilesMatch>
</IfModule>

# mod_expires für Fallback
<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresByType text/html "access plus 0 seconds"
    ExpiresByType text/css "access plus 1 year"
    ExpiresByType application/javascript "access plus 1 year"
    ExpiresByType image/png "access plus 1 year"
    ExpiresByType image/webp "access plus 1 year"
    ExpiresByType font/woff2 "access plus 1 year"
</IfModule>
immutable für Assets

Das immutable-Attribut teilt dem Browser mit, dass sich die Datei während der max-age-Dauer nicht ändert. Voraussetzung: Dateinamen enthalten einen Hash (z.B. app.a1b2c3.js). Ohne Hash-basierte Dateinamen verwenden Sie immutable nicht.

Verifizierung

Prüfen Sie Cache-Control-Header für HTML und statische Assets separat.

Terminal Verifizierung
# Cache-Control für HTML prüfen
curl -sI https://ihre-domain.de | grep -i cache-control

# Cache-Control für Assets prüfen
curl -sI https://ihre-domain.de/assets/style.css | grep -i cache-control

# Erwartete Ausgabe HTML:
# cache-control: no-cache, no-store, must-revalidate
# Erwartete Ausgabe CSS:
# cache-control: public, max-age=31536000, immutable

Häufige Fehler bei Cache-Control auf All-Inkl

FilesMatch Regex-Syntax falsch

Die <FilesMatch>-Direktive in der .htaccess erfordert Apache-kompatible Regex-Syntax. Häufiger Fehler: \\.(html|php) statt "\\.(html|php)$" — der abschließende $ und die Anführungszeichen sind auf All-Inkl Pflicht. Ohne korrekte Syntax greift die Regel nicht oder führt zum 500-Fehler.

CDN-Provider cached trotz no-store

Wenn Sie einen CDN-Provider (Cloudflare, Bunny.net) vor Ihrem All-Inkl-Webspace nutzen, kann das CDN trotz no-store Header cachen. Prüfen Sie die CDN-eigenen Cache-Einstellungen und konfigurieren Sie dort Cache-Bypass-Regeln für HTML-Seiten und Login-Bereiche.

CMS setzt eigene Cache-Header

WordPress und andere CMS setzen eigene Cache-Header per PHP. Die .htaccess-Einstellungen können von PHP-Headern überschrieben werden. Prüfen Sie, welche Header tatsächlich ankommen, und deaktivieren Sie ggf. CMS-eigene Caching-Einstellungen.

Compliance-Relevanz

Korrektes Caching sensibler Seiten verhindert die Offenlegung personenbezogener Daten über Browser- und Proxy-Caches.

DSGVOArt. 32 — Technische Maßnahmen, Schutz vor unbefugtem Zugriff auf gespeicherte Daten
NIS2Art. 21(e) — Sicherheit bei Entwicklung und Wartung von Informationssystemen
PCI DSS 4.0Anforderung 6.2.4 — Schutz sensibler Daten in HTTP-Antworten

Wie steht Ihre Domain bei Cache-Control?

Prüfen Sie es jetzt — kostenlos, ohne Registrierung, mit 166 Prüfpunkte.