Próbowałeś tego? Powinny działać w obie .htaccess
, httpd.conf
iw sposób VirtualHost
(zazwyczaj umieszczane w httpd-vhosts.conf
jeśli obejmowały go z 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% zapobiega buforowaniu plików
Jest to podobne do sposobu, w jaki reklamy Google wykorzystują nagłówek Cache-Control: private, x-gzip-ok = "">, aby zapobiec buforowaniu reklam przez serwery proxy i klientów.
Od http://www.askapache.com/htaccess/using-http-headers-with-htaccess.html
Opcjonalnie dodaj rozszerzenie do plików szablonów, które pobierasz, jeśli używasz rozszerzenia innego niż .html
te.
LoadModule headers_module lib/modules/mod_headers.so
<filesMatch "\.+">
lub<filesMatch ^>
Na podstawie przykładu tutaj: http://drupal.org/node/550488
Poniższe prawdopodobnie będą działać w .htaccess
źródło
<IfModule mod_expires.c>
i</IfModule>
.. jeśli mod_expires nie jest włączone, pojawi się błąd zamiast cichego ignorowania tych dyrektyw.Miałem ten sam problem, ale znalazłem tutaj dobre rozwiązanie: Zatrzymaj buforowanie PHP 5.5.3 w MAMP
Zasadniczo znajdź plik php.ini i zakomentuj linie OPCache. Mam nadzieję, że ta alternatywna odpowiedź pomoże również innym.
źródło
Bez mod_expires trudniej będzie ustawić nagłówki wygaśnięcia w plikach. Dla czegokolwiek wygenerowanego możesz z pewnością ustawić domyślne nagłówki w odpowiedzi, wykonując zadanie mod_expires w ten sposób:
(wzięte z: Odpowiedź przepełnienia stosu z @brianegge , gdzie wyjaśniono również rozwiązanie mod_expires)
Teraz to nie zadziała w przypadku plików statycznych , takich jak pliki javascript. Jeśli chodzi o pliki statyczne, między przeglądarką a plikiem źródłowym znajduje się tylko apache (bez modułu przedawnienia). Aby zapobiec buforowaniu plików javascript, które jest wykonywane w Twojej przeglądarce, możesz użyć losowego tokena na końcu adresu URL js, coś w rodzaju
?rd=45642111
, więc adres URL wygląda następująco:Jeśli ten adres URL na stronie jest generowany przez plik PHP, możesz po prostu dodać losową część za pomocą PHP. Ten sposób losowego ustawiania adresu URL poprzez proste dołączanie losowych parametrów ciągu zapytania jest podstawową rzeczą, na przykład przy ustawieniu braku pamięci podręcznej w żądaniu ajax jQuery. Przeglądarka nigdy nie uzna dwóch adresów URL z różnymi ciągami zapytań za takie same i nigdy nie użyje wersji z pamięci podręcznej.
EDYTOWAĆ
Zauważ, że powinieneś również przetestować mod_headers . Jeśli masz mod_headers, możesz ustawić nagłówki Expires bezpośrednio za pomocą słowa kluczowego Header .
źródło
źródło