2011-06-30 17:05:28 +0000 2011-06-30 17:05:28 +0000
427
427

Jak mogę sprawić, by Chrome przestał buforować przekierowania?

Pracuję nad aplikacją internetową, która używa redirects (dla ładnych adresów URL).

Próbuję debugować logikę w sposób, w jaki działają przekierowania. Jednak Google Chrome ciągle pamięta przekierowania i nawet po zmianie kodu, przekierowuję w ten sam sposób.

To bardzo utrudnia rozwiązywanie problemów.

Na przykład jeśli przekieruję /this na /that, to zmień mój kod, aby NIE przekierowywał już /this. Google Chrome nadal przekierowuje na /that. Jakby przekierowanie było buforowane czy coś. Czy jest jakiś sposób, aby to wyłączyć?

Odpowiedzi (18)

334
334
334
2011-06-30 17:29:54 +0000

Google Chrome cache your 301 redirects . Aby obejść ten problem i utrzymać otwarte karty, wystarczy wyczyścić pamięć podręczną przeglądarki.

Chrome Menu

> Ustawienia > Pokaż ustawienia zaawansowane… > Prywatność > Kliknij Wyczyść dane przeglądarki…

Cokolwiek jeszcze wybierzesz, upewnij się, że opcja “Cached images and files” jest zaznaczona.

Następnie kliknij Wyczyść dane przeglądarki i powinieneś mieć możliwość ponownego przetestowania.

Jeśli właśnie podążałeś za przekierowaniem, wystarczy usunąć dane z ostatniej godziny.

Alternatywnie, przetestuj i rozwijaj w trybie incognito. Tam pamięć podręczna jest spłukiwana po zamknięciu przeglądarki.

160
160
160
2015-01-26 18:12:17 +0000

To niezawodny sposób na wyczyszczenie przyklejonej pamięci Chrome'a na przekierowania bez konieczności wyczyszczenia wszystkich danych przeglądarki (metoda używana przez aktualną górną odpowiedź):

  1. Otwórz panel Developer Tools (optioncommandi na Macu, lub ctrlshifti na Windows)

  2. Kliknij i przytrzymaj ikonę ponownego ładowania

  3. Otworzy się menu

  4. Wybierz trzecią opcję z tego menu (“Empty Cache and Hard Reload”)

Oto doskonałe wyjaśnienie jak te 3 opcje różnią się .

PS: Aby uniknąć konieczności wykonywania tych czynności za każdym razem, gdy następuje przekierowanie, a następnie Chrome: zaznacz Wyłącz pamięć podręczną w DevTools, a gdy DevTools jest otwarte Chrome ominie pamięć podręczną przekierowania (za ta odpowiedź ).

115
115
115
2013-10-16 06:10:40 +0000

Nie jest to doskonałe rozwiązanie, ale byłem w stanie zapobiec użyciu przez Chrome zbuforowanego przekierowania poprzez podanie fałszywego łańcucha zapytania lub dodanie fałszywego parametru do istniejącego łańcucha zapytania. Na przykład, dodanie prostego ? na końcu adresu URL, który nie posiadał łańcucha zapytań zadziałało dla mnie w Chrome 30 na Max OS X.

92
92
92
2012-10-09 07:16:58 +0000

Istnieje “wontfix” Chromu błąd o tym ,

To jest oczekiwane zachowanie.

Zauważ, że:

  1. Możesz dodać nagłówki kontroli pamięci podręcznej do 301 i będziemy za nimi podążać (wygaśnięcie itp.)
  2. Jeśli dany zasób jest zasobem podrzędnym, ponowne załadowanie strony spowoduje ponowną walidację przekierowania z serwerem.
  3. Nie musisz tracić całego cache'u. Po prostu podążaj za przekierowaniem i usuń je w ciągu ostatniej godziny.
67
67
67
2014-02-27 15:14:00 +0000

Jeśli masz włączoną opcję “Disable cache (while DevTools is open)” w DevTools, to samo otwarcie DevTools wystarczy, aby ominąć cache przekierowujący, bez ciągłego wyrzucania sesji.

23
23
23
2015-06-06 21:06:20 +0000

Chrome buforuje przekierowania HTTP i zatrzymuje sprawdzanie strony, czy przekierowanie się zmieniło. Może to być frustrujące, ponieważ najłatwiejszy sposób na naprawę (odwiedzenie strony i wymuszenie twardego odświeżenia) nie może być użyty, ponieważ przekierowanie nastąpi przed wejściem na link. To jest nie naprawi problemu .

Aby obejść ten problem, możesz wyczyścić swoje dane przeglądania, jak wyjaśniono tutaj lub możesz wykonać poniższe kroki i uniknąć utraty swojej historii.

  1. Otwórz Chrome Developer Tools

  2. Kliknij w Ustawienia

  3. Sprawdź Wyłącz pamięć podręczną (gdy DevTools jest otwarte)

  4. Odwiedź stronę, którą chciałeś, a problem pamięci podręcznej zostanie rozwiązany.

15
15
15
2016-01-29 20:30:02 +0000

Przejdź do chrome://net-internals i po prawej stronie otwórz drop-down i wybierz “Clear Cache”. Od wersji 48, to była jedyna rzecz, która działała dla mnie, aby wyczyścić cache 301 (stałe przekierowanie).

Update: Niestety, od wersji 71 (Dec 2018) Google usunął funkcję net-internals.

8
8
8
2017-12-12 13:06:47 +0000

Domeny .dev są zmuszone do korzystania z protokołu HTTPS na Chrome 63+

Od Chrome 63, od grudnia 2017, wszystkie domeny kończące się na .dev (i .foo) są zmuszone do korzystania z protokołu HTTPS za pośrednictwem wstępnie załadowanego nagłówka HTTP Strict Transport Security (HSTS).

Więcej na ten temat tutaj: https://ma.ttias.be/chrome-force-dev-domains-https-via-preloaded-hsts/

7
7
7
2013-03-17 03:39:06 +0000

Aby wyczyścić pamięć podręczną przekierowań dla pojedynczej strony w Chrome, View Source i wykonać twarde odświeżenie (CTRL + SHIFT + R).

To działa, ponieważ przeglądarka źródłowa nie podąża automatycznie za przekierowaniami 301.

6
6
6
2015-03-19 13:09:02 +0000

Jak opisano tutaj może być spowodowane przez HSTS

Aby to obejść, zrobiłem co następuje.

W pasku adresu Chrome wpisz “chrome://net-internals/#hsts” Na samym dole strony znajduje się pole tekstowe domeny QUERY - sprawdź czy Twoja strona (np. localhost) jest znana przeglądarce Jeśli tak, to ODSUŃ domenę localhost używając pola tekstowego powyżej Twoja strona powinna teraz działać przy użyciu zwykłego starego HTTP.

5
5
5
2014-03-19 08:50:06 +0000

W Chrome lub Firefox możesz odświeżyć przekierowanie wpisując “view-source:redirect.yoursite.com” i naciskając enter. Następnie odśwież tę stronę. To powinno zmusić Chrome'a lub Firefoksa do odświeżenia przekierowania.

4
4
4
2012-04-10 19:29:28 +0000

Jeśli chcesz tylko sprawdzić, czy przekierowania działają zgodnie z oczekiwaniami, prawdopodobnie łatwiej jest użyć narzędzia z linii poleceń, takiego jak wget lub podobnego. Możesz sprawdzić nagłówki odpowiedzi, a przekierowania nie są buforowane.

3
3
3
2016-02-16 00:22:09 +0000

Do celów rozwojowych polecam w ustawieniach Chrome Open DevTools i zaznaczyć “Disable cache”. Następnie 30x przekierowania nie są buforowane i można debugować pliki .htaccess i tak dalej

1
1
1
2015-06-23 13:34:07 +0000
  1. Idź do chrome://settings/search#clear%20browsing%20data

  2. Kliknij “Clear browsing data”

  3. Zaznacz “Cached images and files” (i odznacz resztę, jeśli chcesz)

  4. Kliknij “Clear browsing data”

.

1
1
1
2015-08-19 19:28:20 +0000

najprostsza metoda, twarde odświeżenie. przytrzymaj Ctrl + R kilka sekund. Wyczyszcza to zarówno przekierowania, jak i zasoby statyczne.

1
1
1
2017-11-15 09:52:12 +0000

Jeśli nie chcesz stracić całej swojej pamięci podręcznej, a Twoje przekierowanie nadal tkwi w pamięci podręcznej, możesz spróbować odwiedzić źródło widoku: wersję adresu url. To odświeżyło dla mnie pamięć podręczną przekierowania tego samego adresu url.

0
0
0
2019-12-10 13:22:43 +0000

Jeśli potrafisz kontrolować stronę i nie chcesz, aby przeglądarka ładowała się z pamięci podręcznej, to poprawnym sposobem jest dodanie nagłówka:

Cache-Control: no-cache

Ale samo to nie zadziała od razu, ponieważ przeglądarka nadal ładuje się z pamięci podręcznej; po dokonaniu tej zmiany, postępuj zgodnie z tą odpowiedzią, aby ponownie załadować stronę https://superuser.com/a/924748/100398

0
0
0
2017-01-03 01:37:14 +0000

Próbowałem wszystkich odpowiedzi na tej stronie, ale żadna nie zadziałała, dopóki nie uruchomiłem spłuczek w oknie linii poleceń Windowsa.

C:\Users\DBashyal>ipconfig /flushdns

Windows IP Configuration    
Successfully flushed the DNS Resolver Cache.

FYI, miałem już sprawdzony Disable cache jak wspomniano w tej odpowiedzi.