2009-11-05 11 views
5

Po wielu poszukiwaniach i pomocy udało mi się zdobyć przekierowania 301 działające za pośrednictwem pliku .htaccess, ale zauważyłem, że jeśli nie kliknę "odśwież" w przeglądarce, to nie przekieruje strony z powodu przeczytania strona z pamięci podręcznej.301 Przekierowanie za pomocą htaccess i Cache: Jak usunąć starą pamięć podręczną?

Próbowałem zamknąć wszystkie przeglądarki, wstawiając plik .htaccess, a następnie otwierając nową przeglądarkę, ale nadal otwiera stronę z pamięci podręcznej. Zaryzykowałbym przypuszczenie, że większość klientów nie będzie zawracać sobie głowy odświeżaniem strony, a jeśli tego nie zrobią, zajmie to sporo czasu odkrycie, że rzeczywiście istnieje nowa strona!

Wszelkie pomysły? Dzięki!

-Karl

EDIT: „Kliknij tutaj, aby zobaczyć naszą nową stronę internetową” Ja po prostu wpadł na pomysł umieszczenie linku na naszej aktualnej głównej, który mówi, a link odświeży stronę, która z kolei przekieruje przekierowanie 301 do działania. Czy ktokolwiek może pomyśleć o jakichkolwiek negatywnych efektach ubocznych tego?

Odpowiedz

0

Zaczekaj chwilę. Większość pamięci podręcznych użytkowników wygaśnie w ciągu kilku godzin, chyba że ustawisz serwer tak, aby wyświetlał stronę z niezwykle długą wskazówką dotyczącą pamięci podręcznej.

Jeśli wyświetlasz teraz stronę, możesz ustawić nagłówki, aby klient nie zapisał w pamięci podręcznej. Zobacz to pytanie o to:

What is the proper way to tell the browser not to cache?

+0

Czy istnieje sposób sprawdzenia, jak długo potrwa pamięć podręczna? Na przykład witryna, której się zajmuję, to www.mastercontrols.com. –

+0

Twój serwer używa etagów do wysyłania 304 niezmodyfikowanych po przejściu strony do pamięci podręcznej użytkowników. Jeśli masz problemy z pamięcią podręczną, spróbuj zmodyfikować dokumenty tak, aby ich ostatnio zmodyfikowana data na dysku była nowsza. –

+0

Zaleca się po prostu przechodzenie do każdego pliku i zmienianie czegoś małego i zapisywanie go? W jaki sposób dowiedziałeś się, że serwer wysłał 304? –

2

Karl,

Najlepszym sposobem znalazłem zbadać nagłówki buforowania jest Live HTTP Headers firefox add on.

To jest to, co mówi o swojej strony głównej:

HTTP/1.x 200 OK 
Date: Fri, 06 Nov 2009 15:16:57 GMT 
Server: Apache 
Last-Modified: Mon, 12 Oct 2009 16:52:05 GMT 
Etag: "85dcc1-1386-4ad35eb5" 
Accept-Ranges: bytes 
Content-Length: 4998 
Keep-Alive: timeout=10, max=99 
Connection: Keep-Alive 
Content-Type: text/html 

Jak wspomniano powyżej, etag jest problem. Szybka (unixyjna) poprawka może być: find /var/www/htdocs -type f|xargs touch, która zmieni zmodyfikowany czas każdego pliku w twoim katalogu www.

Zależy to jednak od konfiguracji instancji serwera Apache do generowania wartości etag. Oto great little howto on setting up caching with Apache.

Jeśli chodzi o sugestię, aby dodać link, nie sądzę, że będzie działać. Nie można zmusić przeglądarki do zdalnego odświeżania strony i, jak wskazano powyżej, problem dotyczy etagów, których rozwiązanie nie ulegnie zmianie.

Dan

Powiązane problemy