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