Versucht das? Sollte in beiden arbeitet .htaccess
, httpd.conf
und in einem VirtualHost
( in der Regel platziert httpd-vhosts.conf
wenn Sie es eingeschlossen von Ihrem httpd.conf)
<filesMatch "\.(html|htm|js|css)$">
FileETag None
<ifModule mod_headers.c>
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"
</ifModule>
</filesMatch>
100% Verhindern, dass Dateien zwischengespeichert werden
Dies ähnelt der Verwendung des Headers Cache-Control in Google-Anzeigen: private, x-gzip-ok = "">, um das Zwischenspeichern von Anzeigen durch Proxys und Clients zu verhindern.
Von http://www.askapache.com/htaccess/using-http-headers-with-htaccess.html
Fügen Sie optional die Erweiterung für die Abrufdateien hinzu, die Sie abrufen, wenn Sie eine andere Erweiterung als .html
diese verwenden.
LoadModule headers_module lib/modules/mod_headers.so
<filesMatch "\.+">
oder<filesMatch ^>
Basierend auf dem Beispiel hier: http://drupal.org/node/550488
Das Folgende wird wahrscheinlich in .htaccess funktionieren
quelle
<IfModule mod_expires.c>
und</IfModule>
. Wenn mod_expires nicht aktiviert ist, wird ein Fehler angezeigt, anstatt dass diese Anweisungen stillschweigend ignoriert werden.Ich hatte das gleiche Problem, aber ich habe hier eine gute Lösung gefunden: Stoppen Sie das Caching für PHP 5.5.3 in MAMP
Suchen Sie im Grunde die Datei php.ini und kommentieren Sie die OPCache-Zeilen aus. Ich hoffe, diese alternative Antwort hilft auch anderen.
quelle
Ohne mod_expires ist es schwieriger, Ablaufheader für Ihre Dateien festzulegen . Für alles, was generiert wird, können Sie sicherlich einige Standardheader für die Antwort festlegen, indem Sie die Aufgabe von mod_expires folgendermaßen ausführen:
(entnommen aus: Stack Overflow-Antwort von @brianegge , wo auch die mod_expires-Lösung erklärt wird)
Dies funktioniert jetzt nicht mehr für statische Dateien wie Ihre Javascript-Dateien. Bei statischen Dateien befindet sich nur Apache (ohne Ablaufmodul) zwischen dem Browser und der Quelldatei. Um das Zwischenspeichern von Javascript-Dateien zu verhindern, das in Ihrem Browser ausgeführt wird, können Sie ein zufälliges Token am Ende der js-URL verwenden.
?rd=45642111
Die URL sieht also folgendermaßen aus:Wenn diese URL auf der Seite von einer PHP-Datei generiert wird, können Sie einfach den zufälligen Teil mit PHP hinzufügen. Diese Art der Randomisierung von URLs durch einfaches Anhängen von Parametern für zufällige Abfragezeichenfolgen ist beispielsweise die Grundvoraussetzung für die Einstellung ohne Cache bei einer Ajax-jQuery-Anforderung. Der Browser betrachtet niemals 2 URLs mit unterschiedlichen Abfragezeichenfolgen als gleich und verwendet niemals die zwischengespeicherte Version.
BEARBEITEN
Beachten Sie, dass Sie auch mod_headers testen sollten . Wenn Sie mod_headers haben, können Sie die Expires-Header möglicherweise direkt mit dem Schlüsselwort Header festlegen .
quelle
quelle