Ich wiederhole eine ganze Website und der Browser verwendet die zwischengespeicherten index.html
Seiten, die die gleiche URL haben.Wie verhindere ich, dass Browser eine alte zwischengespeicherte index.html verwenden?
Dies ist der gesamte Inhalt der .htaccess
Datei in einem der Problemverzeichnisse:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /products/
# Remove 'index.html' from the URL for old links that include it.
RewriteCond %{THE_REQUEST} ^.*\index\.html?\ HTTP/
RewriteRule ^(.*)index\.html?$ "/products/$1" [R=301,L]
# Use index.php for all requests.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule^/products/index.php [L]
</IfModule>
# An atempt to tell the browser not to use a cached .html file.
ExpiresActive on
ExpiresByType text/html "access plus 0 seconds"
<FilesMatch "\.(html)$">
Header set Cache-Control "private, must-revalidate"
</FilesMatch>
ich hier mehrere Dinge ausprobiert habe, aber nichts funktioniert. Das ist alles, was ich in den Headern sehe:
Request URL:http://www.example.com/products/
Request Method:GET
Status Code:200 OK (from cache)
Es gibt keine Anfrage Header oder Antwort Header.
Ich denke, ich kann vielleicht eine RewriteRule versuchen, etwas wie ?28032012
an das Ende von etwas hinzuzufügen, aber ich weiß nicht, wie man das überhaupt versucht.
Können Sie die index.html Seite selbst nicht bearbeiten? http://stackoverflow.com/questions/748193/html-php-page-bein-cached-client-side-when-it-should-not-be –
Ich kann, aber ich muss die Website live so schnell wie schieben möglich. – JDavis
Es sieht so aus, als ob mod_expires überhaupt nicht funktioniert. Sind Sie sicher, dass Sie das Kommentarzeichen LoadModule expires_module modules/mod_expires.so haben? Vorher sollten Sie die temporäre Datei Ihres Browsers löschen. Ich hoffe das hilft. – huangli