2015-07-09 21 views
11

Mam stronę na stronie, która używa gałki random(), w przeglądarce Firefox i Chrome jest ona niedostępna, ponieważ zostaje zapisana w pamięci podręcznej zaraz po załadowaniu strony.Wyłącz pamięć podręczną dla określonego pliku za pomocą Apache'a

Czy istnieje sposób, aby wyłączyć buforowanie określonego pliku za pomocą konfiguracji Apache, czy można go nazwać default.html lub jeszcze lepiej wyłączyć buforowanie części skryptu tego pliku, ale zachować buforowanie plików graficznych?

Próbowałem .htaccess, ale to nie działa.

Jedynym sposobem obecnie, że pozwala skrypt do pracy jest, aby wyłączyć buforowanie globalnie poprzez nagłówków PHP:

<?php 
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); 
header('Cache-Control: no-store, no-cache, must-revalidate'); 
header('Cache-Control: post-check=0, pre-check=0', FALSE); 
header('Pragma: no-cache'); 
?> 

Ale jak tylko trzeba wyłączyć buforowanie dla poszczególnych stron, wyłączając ją za wszystko wydaje się szalony.

+0

'Próbowałem .htaccess, ale to nie działa. To jest właśnie to miejsce. Co masz na myśli "nie działa"? Edytuj pytanie i opublikuj, co próbujesz. – arco444

Odpowiedz

22

Zdobione, do celu określonego pliku (w tym przypadku index.php), dodać ten kod do dołu .htaccess

<Files index.php> 
FileETag None 
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" 
</Files> 

alternatywnie cel konkretny wybór plików, tj. Chciałabym buforować obrazy, ale nic poza tym (plików pasujących html, htm, js, css, php nie będą buforowane):

<filesMatch "\.(html|htm|js|css|php)$"> 
FileETag None 
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" 
</filesMatch> 

Aby sprawdzić .htaccess był odczytywany wszedłem kilka wierszy śmieci na dole, okazało się, że nie był Został odczytany, zmieniono jego nazwę z htaccess na .htaccess i zadziałało.