Pertanyaan Bagaimana saya bisa membuat Chrome menghentikan caching arahan ulang?


Saya sedang mengerjakan aplikasi web yang digunakan redirects (untuk URL cantik).

Saya mencoba men-debug logika dengan cara pengalihan bekerja. Namun Google Chrome terus mengingat pengalihan dan bahkan setelah saya mengubah kode, mengarahkan ulang dengan cara yang sama.

Ini membuatnya sangat sulit untuk dipecahkan.

Misalnya jika saya mengalihkan /this untuk /that, kemudian ubah kode saya untuk TIDAK mengalihkan /this lagi. Google Chrome masih mengalihkan ke /that. Seperti pengalihan cache atau sesuatu. Apakah ada cara untuk mematikan ini?


368
2018-06-30 17:05


asal


Apakah ini masih terjadi ketika Anda me-restart? Seharusnya berhenti setelah Anda memulai ulang dengan sesi baru - random♦
@random, memulai ulang chrome sepertinya memperbaikinya. Namun, saya biasanya memiliki banyak jendela terbuka (yaitu: dokumen, koneksi db, tutorial, halaman yang saya kerjakan, dll.) Jika saya mengatasi masalah sesuatu, diperlukan beberapa kali mencoba sebelum mencari tahu apa yang terjadi. Saya tidak akan benar-benar menganggapnya ideal untuk terus menutup semua jendela saya. Terima kasih. - JD Isaacks
Penanganan masalah: Gunakan 302 (sementara) pengalihan saat pengujian, dan beralih ke 301 (permanen) setelah selesai. (Caveat: Beberapa browser (Firefox) akan menyimpan bahkan 302 pengalihan ketika mereka pergi dari versi http ke https dari halaman yang sama.) - TRiG
Memasuki yang baru www.mywebsite/?someparam=somevalue bekerja untukku - Mustafa
@JDIdaack Anda dapat menggunakan Chrome secara eksklusif untuk melakukan debug (mis. Chrome Canary) - athosbr99


Jawaban:


Google Chrome akan cache pengalihan 301 Anda. Untuk menyiasati ini, dan untuk menjaga tab tetap terbuka, Anda hanya perlu menghapus cache browser Anda.

Menu Chrome Chrome Menu > Pengaturan> Tampilkan pengaturan lanjutan ...> Privasi> Klik Menghapus data pencarian...

Apa pun yang Anda pilih, pastikan "Tembolok gambar dan file" adalah opsi yang dicentang.

Lalu klik Menghapus data pencarian dan Anda harus dapat menguji ulang lagi.

Jika Anda baru saja mengikuti redirect, Anda hanya perlu menghapus data dari satu jam terakhir.

Atau, uji dan kembangkan dalam mode penyamaran. Ada cache yang memerah setelah browser ditutup.


301
2018-06-30 17:29



Chrome versi terbaru, opsi ini adalah "Tembolok gambar dan file" bukan "Kosongkan cache" - Dan R
Saya terus dialihkan, bahkan dalam mode penyamaran. - Gaia
@Gaia ya, sepertinya itu masalah di Chrome incognito. Jika Anda hanya menguji, Anda mungkin ingin menggunakan Firefox untuk ini. Penjelajahan pribadi Firefox berfungsi dengan baik :) - chhantyal
Perhatikan bahwa HTTP 301 adalah Dipindahkan secara Permanen jadi caching responsnya diperbolehkan dengan sempurna. Jika Anda tidak ingin respons di-cache, coba 302 atau 307. en.wikipedia.org/wiki/List_of_HTTP_status_codes#3xx_Redirection - Michael Kjörling
Pintasan keyboard untuk ini Ctrl + Shift + Delete. - 0xcaff


Ini adalah cara bukti yang pasti untuk menghapus memori melekat Chrome untuk pengalihan tanpa menghapus semua data penjelajahan Anda (per jawaban di atas):

  1. Buka Alat pengembang panel (pilihanperintahsaya di Mac, atau ctrlbergesersaya di Windows)

  2. Klik dan tahan ikon isi ulang enter image description here

  3. Menu akan terbuka

    enter image description here

  4. Pilih opsi ke-3 dari menu ini ("Empty Cache and Hard Reload")

PS: Untuk menghindari keharusan melakukan langkah-langkah ini setiap kali pengalihan diikuti oleh Chrome: centang nonaktifkan cache di DevTools, dan sementara DevTools terbuka, Chrome akan melewati cache pengalihan (per jawaban ini)


128
2018-01-26 18:12



Sebagai samping: ini tidak tersedia di Mac. - Arjan
ini tidak selalu menghapus pengalihan cache - Claudiu Creanga
Ini tersedia di Mac, tetapi menu hanya tersedia jika Anda memiliki alat dev terbuka. Saya berasumsi ini mungkin sama pada Windows. - Percy
@Arjan tersedia di Mac lihat superuser.com/questions/304589/… - Gaia
Mac OS X, Yosemite. Berkelahi dengan pengalihan permanen http ke https, hanya opsi ini yang berfungsi. Semua yang lain, termasuk "Nonaktifkan cache (sementara DevTools terbuka)", tidak membuat perbedaan. - Carles Sala


Ini bukan solusi sempurna, tetapi saya dapat mencegah Chrome menggunakan pengalihan cache dengan mengirimkan string kueri palsu, atau menambahkan parameter palsu ke string kueri yang ada. Misalnya, menambahkan yang sederhana ? ke bagian akhir URL yang tidak memiliki string kueri q bekerja untuk saya di Chrome 30 pada Max OS X.


108
2017-10-16 06:10



Ya, ini berhasil. example.com menjadi example.com?. Saya adalah yang paling mudah dari kelompok itu - bfred.it
Ini adalah trik yang luar biasa. Saya berasumsi Anda dapat menggunakan ini tanpa batas ?abc, ?abc2 dll ... - brentonstrine
Ini tidak berhasil untukku. Bahkan menggunakan port yang berbeda (: 8080) itu berubah menjadi https yang tampak seperti bug Chrome. - jwadsack
Saya sudah melakukan hal yang sama, tetapi itu tidak bekerja selalu, kadang-kadang saya perlu menekan ctrl + shift + r (ctrl + f5) untuk mendapatkan versi terbaru dari halaman web, atau halaman parsial termasuk di dalam halaman - M98
Jika ada wildcard yang di-cache 301, ini mungkin tidak berfungsi karena "mengingat" untuk meneruskan semuanya setelah TLD. - dhaupin


Ada "wontfix" Chromium bug tentang ini,

Itu adalah perilaku yang diharapkan.

Perhatikan bahwa:

  1. Anda dapat menambahkan header kontrol cache ke 301 dan kami akan mengikutinya (kedaluwarsa dll)
  2. Jika sumber daya yang dimaksud adalah subresource, reload halaman tersebut akan menyebabkan redirect untuk divalidasi ulang dengan server.
  3. Anda tidak perlu kehilangan seluruh cache Anda. Cukup ikuti pengalihan dan hapus jam terakhir.

90
2017-10-09 07:16



Apa artinya "hapus jam terakhir." cara? Bagaimana cara melakukannya? - Mikaël Mayer
@ MikaëlMayer Saat Anda mengeklik "Riwayat> Hapus data penjelajahan", Anda dapat memilih jangka waktu untuk menghapus data ("jam terakhir", "minggu lalu", dll.) - dbr
Tidak..! Menghapus data penelusuran untuk situs akan tidak hapus perilaku pengalihan 301. Tidak di Chromium 64.0.x saja - patricktokeeffe
Membersihkan "1 jam" membuat Anda keluar dari semua produk dan akun Google. Saran yang bagus ... - Luciano Fantuzzi
> Anda tidak perlu kehilangan seluruh cache Anda. Cukup ikuti pengalihan dan hapus jam terakhir. Itu masih lebih buruk daripada "hapus pengalihan terakhir" yang merupakan fitur yang tidak mereka perbaiki. - rox0r


Jika Anda memiliki opsi "Nonaktifkan cache (saat DevTools terbuka)" diaktifkan di DevTools, maka cukup dengan membuka DevTools sudah cukup untuk melewati cache pengalihan, tanpa terus-menerus membuang sesi Anda.


63
2018-02-27 15:14



perhatikan: jika devTools terbuka, ada cara cepat untuk menghapus cache: klik pada tombol segarkan dengan klik kanan dan pilih isi ulang penuh ;) - user65130
ini tidak bekerja sepanjang waktu. Saya menghapus semua cache dan masih mengalihkan. Hanya dengan mode penyamaran itu berfungsi dan Anda mendapatkan perilaku yang konsisten - Claudiu Creanga
Mengapa ini bukan solusi teratas? yang lainnya mengerikan jika dibandingkan! - Brian
Tidak berfungsi lagi ... Mungkin bekerja pada tahun 2014 - Lord Loh.
@LordLoh. Saya baru saja mencoba ini di Chrome versi terbaru, dan berfungsi persis seperti yang diharapkan. Dengan devtools tertutup, redirect di-cache. Memuat ulang halaman dengan alat terbuka tidak mengalihkan. - Mike Gossmann


Chrome menyimpan HTTP redirect dan berhenti memeriksa dengan situs jika pengalihan telah berubah. Ini bisa membuat frustrasi, karena cara termudah untuk memperbaikinya (mengunjungi situs dan memaksakan penyegaran yang sulit) tidak dapat digunakan karena pengalihan akan terjadi sebelum Anda mengakses tautan. Ini adalah sebuah tidak akan memperbaiki masalah.

Untuk menyiasatinya, Anda dapat menghapus data penjelajahan Anda, seperti yang dijelaskan sini atau Anda dapat mengikuti langkah-langkah di bawah ini dan hindari kehilangan riwayat Anda.

  1. Buka Alat Pengembang Chrome dev-tools

  2. Klik di Pengaturan settings

  3. Memeriksa Nonaktifkan cache (saat DevTools terbuka) disable

  4. Kunjungi situs yang Anda inginkan dan masalah cache akan terpecahkan.


18
2018-06-06 21:06



Anda akan menemukan opsi "disable cache" pada tab jaringan juga, itu adalah opsi yang sama. Untuk pengalihan debug, saya menyarankan menggunakan "preserve log" juga. - Trendfischer


Pergi ke chrome: // net-internals dan di paling kanan buka drop-down dan pilih "Clear Cache". Pada versi 48, ini adalah satu-satunya hal yang berhasil bagi saya untuk menghapus 301 yang di-cache (redirect permanen).


14
2018-01-29 20:30



Berfungsi pada Chrome 56 - spencer.sm
Ini berhasil bagi saya, terima kasih - David Van De Meer


Untuk menghapus cache pengalihan untuk satu halaman di Chrome, Lihat sumber dan lakukan penyegaran yang sulit (CTRL + SHIFT + R).

Ini berfungsi karena browser sumber tidak secara otomatis mengikuti pengalihan 301.


7
2018-03-17 03:39



Tidak berfungsi untuk saya di Chrome 25 - swrobel
Ini tidak berfungsi jika pengalihan dilakukan semua halaman. Saya punya www. -> tidak ada www. redirect - jadi pengalihan ada di klik pertama, jadi saya tidak dapat menyegarkan apa pun. Setiap kali saya mencoba membuka halaman untuk menyegarkan, ikuti 301 - maka sudah terlambat! - Ian Grainger
@Ian Bagaimana jika Anda mengetik di sumber tampilan bilah alamat: www.example.com? Apakah itu memungkinkan Anda me-refresh tanpa dialihkan? - Matthew Blackford
@MaththewBlackford AFAICT hal yang sama, saya benar-benar mendapatkan sumber dari halaman yang diarahkan. Tidak yakin tes saya sangat bagus, meskipun TBH. Saya telah menghapus riwayat penelusuran untuk 'memperbaiki' masalah ini. - Ian Grainger
Ini hanya berfungsi untuk pengalihan javascript dan metatag. Pengalihan HTTP masih diikuti - bfred.it