Làm cách nào tôi có thể khiến Chrome dừng chuyển hướng bộ nhớ đệm?


415

Tôi đang làm việc trên một ứng dụng web đang sử dụng redirects(đối với các URL đẹp).

Tôi đang cố gắng gỡ lỗi logic theo cách các chuyển hướng đang làm việc. Tuy nhiên, Google Chrome vẫn ghi nhớ các chuyển hướng và thậm chí sau khi tôi thay đổi mã, chuyển hướng theo cùng một cách.

Điều này làm cho nó rất khó để khắc phục sự cố.

Ví dụ: nếu tôi chuyển hướng /thisđến /that, sau đó thay đổi mã của tôi thành KHÔNG chuyển hướng /thisnữa. Google Chrome vẫn đang chuyển hướng đến /that. Giống như chuyển hướng được lưu trữ hoặc một cái gì đó. Có cách nào để tắt thứ này không?


Điều này vẫn xảy ra khi bạn khởi động lại? Nó sẽ dừng sau khi bạn khởi động lại với một phiên mới
ngẫu nhiên

1
@random, khởi động lại chrome dường như để sửa nó. Tuy nhiên, tôi thường mở rất nhiều cửa sổ (ví dụ: docs, kết nối db, hướng dẫn, trang tôi đang làm việc, v.v.) Nếu tôi đang khắc phục sự cố, có thể phải thử vài lần trước khi tìm hiểu điều gì đang xảy ra. Tôi thực sự sẽ không coi đó là lý tưởng khi phải tiếp tục đóng tất cả các cửa sổ của mình. Cảm ơn.
JD Isaacks

2
Giải pháp thay thế: Sử dụng chuyển hướng 302 (tạm thời) trong khi thử nghiệm và chuyển sang 301 (vĩnh viễn) khi bạn hoàn tất. (
Hãy cẩn thận

1
Bước vào một www.mywebsite/?someparam=somevaluetác phẩm mới đối với tôi
Mustafa

1
@JDIsaacks bạn có thể sử dụng Chrome riêng để gỡ lỗi (ví dụ Chrome Canary)
athosbr99

Câu trả lời:


329

Google Chrome sẽ lưu trữ bộ chuyển hướng 301 của bạn . Để giải quyết vấn đề này và để giữ các tab mở, bạn sẽ chỉ cần xóa bộ nhớ cache của trình duyệt.

Menu Chrome Menu Chrome> Cài đặt> Hiển thị cài đặt nâng cao ...> Quyền riêng tư> Nhấp vào Xóa dữ liệu duyệt web ...

Dù bạn chọn cách nào khác, hãy đảm bảo "Hình ảnh và tệp được lưu trong bộ nhớ cache" là một tùy chọn được chọn.

Sau đó nhấp vào Xóa dữ liệu duyệt web và bạn sẽ có thể kiểm tra lại.

Nếu bạn vừa theo dõi chuyển hướng, bạn chỉ cần xóa dữ liệu từ một giờ qua.

Ngoài ra, kiểm tra và phát triển trong chế độ ẩn danh. Có bộ đệm được xóa sau khi đóng trình duyệt.


3
Phiên bản mới nhất của chrome, tùy chọn này sẽ là "Hình ảnh và tệp được lưu trong bộ nhớ cache" thay vì "Làm trống bộ đệm"
Dan R

23
Tôi liên tục bị chuyển hướng, ngay cả trong chế độ ẩn danh.
Gaia

2
@Gaia yea, đó dường như là vấn đề trong Chrome ẩn danh. Nếu bạn chỉ đang thử nghiệm, bạn có thể muốn sử dụng Firefox cho việc này. Trình duyệt riêng tư của Firefox hoạt động tốt :)
chhantyal

10
Lưu ý rằng HTTP 301 được di chuyển vĩnh viễn để lưu trữ phản hồi hoàn toàn được phép. Nếu bạn không muốn phản hồi được lưu vào bộ nhớ cache, hãy thử 302 hoặc 307. vi.wikipedia.org/wiki/List_of_HTTP_status_codes#3xx_Redirection
CVn

7
Phím tắt cho điều này là Ctrl+ Shift+ Delete.
0xcaff

151

Đây là cách chứng minh chắc chắn để xóa bộ nhớ dính của Chrome để chuyển hướng mà không xóa tất cả dữ liệu duyệt web của bạn (phương pháp được sử dụng bởi câu trả lời hàng đầu hiện tại):

  1. Mở bảng Công cụ dành cho nhà phát triển ( optioncommanditrên Mac hoặc ctrlshiftitrên Windows)

  2. Nhấp và giữ biểu tượng tải lại nhập mô tả hình ảnh ở đây

  3. Một menu sẽ mở ra

    nhập mô tả hình ảnh ở đây

  4. Chọn tùy chọn thứ 3 từ menu này ("Cache trống và tải lại cứng")

Đây là một lời giải thích tuyệt vời về cách 3 tùy chọn này khác nhau .

PS: Để tránh phải thực hiện các bước này mỗi khi chuyển hướng được theo sau bởi Chrome: kiểm tra tắt bộ đệm trong DevTools và trong khi DevTools mở, Chrome sẽ bỏ qua bộ đệm chuyển hướng (theo câu trả lời này )


1
Như một bên: điều này không có sẵn trên máy Mac.
Arjan

5
điều này không phải lúc nào cũng xóa các chuyển hướng được lưu trong bộ nhớ cache
Claudiu Creanga

7
Nó có sẵn trên Mac, nhưng menu chỉ khả dụng nếu bạn mở các công cụ dev. Tôi cho rằng điều này có thể giống nhau trên Windows.
trăm

1
@Arjan nó có sẵn trên máy Mac, xem superuser.com/questions/304589/iêu
Gaia

4
Mac OS X, Yosemite. Chiến đấu với chuyển hướng vĩnh viễn http sang https, chỉ có tùy chọn này hoạt động. Tất cả những cái khác, bao gồm cả "Vô hiệu hóa bộ đệm (trong khi DevTools đang mở)", không có sự khác biệt.
Carles Sala

115

Đây không phải là một giải pháp hoàn hảo, nhưng tôi có thể ngăn Chrome sử dụng chuyển hướng được lưu trong bộ nhớ cache bằng cách chuyển chuỗi truy vấn không có thật hoặc thêm tham số không có thật vào chuỗi truy vấn hiện có. Ví dụ: việc thêm một đơn giản ?vào cuối URL không có chuỗi truy vấn q hoạt động với tôi trên Chrome 30 trên Max OS X.


10
Đúng, điều này hoạt động. example.comtrở thành example.com?. Tôi là người dễ nhất trong nhóm
fregante

2
Đây là một mẹo tuyệt vời. Tôi giả sử bạn có thể sử dụng nó vô thời hạn ?abc, ?abc2v.v ...
brentonstrine

2
Điều này đã không làm việc cho tôi. Ngay cả khi sử dụng một cổng khác (: 8080), nó đã thay đổi thành https giống như lỗi Chrome.
jwadsack

Tôi đã làm điều tương tự, nhưng nó không hoạt động luôn, đôi khi tôi cần nhấn ctrl + shift + r (ctrl + f5) để có phiên bản mới hơn của trang web hoặc một phần trang có trong trang
M98

Nếu có ký tự đại diện được lưu trong bộ nhớ cache 301 thì điều này có thể không hoạt động kể từ khi "ghi nhớ" để chuyển tiếp mọi thứ sau TLD.
dhaupin

92

Có một lỗi Chromium "wontfix" về điều này ,

Đó là hành vi dự kiến.

Lưu ý rằng:

  1. Bạn có thể thêm các tiêu đề kiểm soát bộ đệm vào 301 và chúng tôi sẽ theo dõi chúng (hết hạn, v.v.)
  2. Nếu tài nguyên được đề cập là nguồn phụ, việc tải lại trang sẽ khiến chuyển hướng được xác thực lại với máy chủ.
  3. Bạn không phải mất toàn bộ bộ nhớ cache. Chỉ cần làm theo chuyển hướng và xóa giờ cuối cùng.

Điều gì "xóa giờ cuối cùng." có nghĩa? Làm thế nào để làm nó?
Mikaël Mayer

1
@ MikaëlMayer Khi bạn nhấp vào "Lịch sử> Xóa dữ liệu duyệt web", bạn có thể chọn khung thời gian để xóa dữ liệu ("giờ trước", "tuần qua", v.v.)
dbr

Không..! Xóa dữ liệu duyệt web cho một trang web sẽ không xóa hành vi chuyển hướng 301. Dù sao cũng không có trong Chromium 64.0.x
patricktokeeffe

Xóa "1 giờ" sẽ khiến bạn đăng xuất khỏi tất cả các sản phẩm và tài khoản của Google. Thật là một lời khuyên tốt ...
Luciano Fantuzzi

> Bạn không phải mất toàn bộ bộ nhớ cache. Chỉ cần làm theo chuyển hướng và xóa giờ cuối cùng. Điều đó vẫn còn tệ hơn cả "xóa chuyển hướng cuối cùng", đó là tính năng mà họ không có tiền tố.
rox0r

66

Nếu bạn có tùy chọn "Vô hiệu hóa bộ đệm (trong khi DevTools đang mở)" được bật trong DevTools, thì chỉ cần mở DevTools là đủ để bỏ qua bộ đệm chuyển hướng, mà không cần liên tục vứt bỏ phiên của bạn.


9
lưu ý: nếu devTools đang mở, có một cách nhanh chóng để xóa bộ nhớ cache: nhấp vào nút refresh bằng nhấp chuột phải và chọn tải lại đầy đủ;)
user65130

5
điều này không hoạt động tất cả các thời gian. Tôi đã xóa tất cả bộ nhớ cache và vẫn chuyển hướng. Chỉ với chế độ ẩn danh, nó hoạt động và bạn có được hành vi nhất quán
Claudiu Creanga

2
Tại sao đây không phải là giải pháp hàng đầu? những người khác là khủng khiếp bằng cách so sánh!
Brian

4
Không còn hoạt động nữa ... Có lẽ đã hoạt động vào năm 2014
Lord Loh.

@LordLoh. Tôi vừa thử phiên bản Chrome mới nhất này và nó hoạt động chính xác như mong đợi. Khi các devtools đóng, chuyển hướng được lưu trữ. Tải lại trang với các công cụ mở không chuyển hướng.
Mike Gossmann

20

Chrome lưu trữ chuyển hướng HTTP và ngừng kiểm tra với trang web nếu chuyển hướng đã thay đổi. Điều này có thể gây nản lòng, vì cách dễ nhất để khắc phục (truy cập trang web và buộc làm mới cứng) không thể được sử dụng vì chuyển hướng sẽ xảy ra trước khi bạn truy cập vào liên kết. Đây không phải là vấn đề khắc phục .

Để khắc phục điều này, bạn có thể xóa dữ liệu duyệt web của mình, như được giải thích ở đây hoặc bạn có thể làm theo các bước dưới đây và tránh mất lịch sử của mình.

  1. Mở Công cụ dành cho nhà phát triển Chrome những công cụ của nhà phát triển

  2. Nhấp vào Cài đặt cài đặt

  3. Kiểm tra Vô hiệu hóa bộ đệm (trong khi DevTools đang mở) vô hiệu hóa

  4. Truy cập trang web mà bạn muốn và vấn đề bộ đệm sẽ được giải quyết.


2
Bạn cũng sẽ thấy tùy chọn "vô hiệu hóa bộ đệm" trên tab mạng, đó là tùy chọn tương tự. Để gỡ lỗi chuyển hướng, tôi cũng đề nghị sử dụng "nhật ký bảo quản".
Trendfischer

15

Truy cập chrome: // net-internals và ở ngoài cùng bên phải mở trình đơn thả xuống và chọn "Xóa bộ nhớ cache". Kể từ phiên bản 48, đây là điều duy nhất giúp tôi xóa một bộ nhớ cache 301 (chuyển hướng vĩnh viễn).

Cập nhật: Thật không may, kể từ phiên bản 71 (tháng 12 năm 2018) Google đã loại bỏ tính năng nội bộ mạng.


1
Hoạt động trên Chrome 56
spencer.sm

Vẫn hoạt động trên Chrome 67
SCO

Không hoạt động trên Chrome 71. Trình xem sự kiện nội bộ và chức năng liên quan đã bị xóa.
dùng

8

tên miền .dev buộc phải sử dụng HTTPS trên Chrome 63+

Kể từ Chrome 63, ra tháng 12 năm 2017, tất cả các tên miền kết thúc trên .dev (và .foo) buộc phải sử dụng HTTPS thông qua tiêu đề HTTP Strict Transport Security (HSTS) được tải sẵn.

Thêm về nó ở đây: https://ma.ttias.be/chrome-force-dev-domains-https-via-preloaded-hsts/


Đây là thủ phạm của tôi chắc chắn! Tôi dành GIỜ để cố gắng tìm hiểu chuyện gì đang xảy ra. Cảm ơn bạn đã đăng bài này!
Jabari

Câu trả lời này cần nhiều phiếu hơn. Nó có thể không phải là vấn đề mà người hỏi có nhưng nó sẽ dành cho nhiều nhà phát triển tìm thấy câu trả lời này trong kết quả tìm kiếm của họ.
bp.

Chúa Trời! Ai đã từng nghĩ ra ý tưởng tuyệt vời như vậy!
Pavel Niedoba

7

Để xóa bộ đệm chuyển hướng cho một trang trong Chrome, Xem Nguồn và làm mới một cách khó khăn (CTRL + SHIFT + R).

Điều này hoạt động như trình duyệt nguồn không tự động theo chuyển hướng 301.


4
Không làm việc cho tôi trong Chrome 25
swrobel

3
Điều này không hoạt động nếu chuyển hướng là cho tất cả các trang. Tôi có một www. -> không có www. chuyển hướng - vì vậy chuyển hướng là trong lần truy cập đầu tiên, vì vậy tôi không thể làm mới bất cứ điều gì. Mỗi lần tôi cố gắng truy cập trang để làm mới nó theo 301 - thì đã quá muộn!
Ian Grainger

1
@Ian Điều gì xảy ra nếu bạn nhập vào thanh địa chỉ view-source: www.example.com? Điều đó cho phép bạn làm mới mà không bị chuyển hướng?
Matthew Blackford

1
@MatthewBlackford AFAICT điều tương tự, tôi thực sự có được nguồn của trang chuyển hướng. Không chắc bài kiểm tra của tôi là tuyệt vời, mặc dù TBH. Tôi đã xóa lịch sử duyệt web để 'khắc phục' sự cố này.
Ian Grainger

2
Điều này chỉ hoạt động cho chuyển hướng javascript và metatag. Chuyển hướng HTTP vẫn được theo dõi
fregante

6

Theo mô tả ở đây có thể được gây ra bởi HSTS

Để giải quyết vấn đề này, tôi đã làm như sau.

Trong thanh địa chỉ Chrome, gõ "chrome: // net-internals / # hsts" Ở dưới cùng của trang là hộp văn bản tên miền QUERY - xác minh rằng trang web của bạn (ví dụ localhost) được biết đến với trình duyệt Nếu đó là, XÓA localhost tên miền sử dụng hộp văn bản ở trên Trang web của bạn bây giờ sẽ hoạt động bằng cách sử dụng HTTP cũ đơn giản


1
Này cảm ơn nhé. Điều này thực sự giúp với https chuyển hướng bộ đệm đột ngột.
Ruberoid

5

Trong Chrome hoặc Firefox, bạn có thể làm mới chuyển hướng bằng cách nhập "view-source: redirect.yoursite.com" và nhấn enter. Sau đó, làm mới trang đó. Bây giờ, điều đó sẽ buộc Chrome hoặc Firefox làm mới chuyển hướng.


Đây là câu trả lời duy nhất làm việc cho tôi.
JaredThraf

4

Nếu bạn chỉ muốn kiểm tra các chuyển hướng đang hoạt động như mong đợi, có thể dễ dàng sử dụng một công cụ dòng lệnh như wget hoặc tương tự. Bạn có thể kiểm tra các tiêu đề phản hồi và chuyển hướng không được lưu trữ.


3

Để phát triển, tôi khuyên bạn nên cài đặt DevTools trên Chrome và kiểm tra "Tắt bộ nhớ cache". Sau đó, chuyển hướng 30x không được lưu trong bộ nhớ cache và bạn có thể gỡ lỗi các tệp .htaccess, v.v. nhập mô tả hình ảnh ở đây


Điều kỳ lạ là tùy chọn này không giúp được gì. Tôi đã tắt bộ đệm nhưng nó vẫn báo trong tab mạng 301 Moved Permanently (from disk cache).
mgutt

Đó là điều chính xác tương tự như nhấp vào 'vô hiệu hóa bộ đệm' trong khi tab mạng đang mở. Không - không rõ ràng chuyển hướng.
bshea

1
  1. Đi đến chrome://settings/search#clear%20browsing%20data

  2. Nhấp vào "Xóa dữ liệu duyệt web"

  3. Kiểm tra "Hình ảnh và tệp được lưu trong bộ nhớ cache" (và bỏ chọn phần còn lại nếu bạn muốn)

  4. Nhấp vào "Xóa dữ liệu duyệt web"

nhập mô tả hình ảnh ở đây


1

Phương pháp đơn giản nhất, khó làm mới. giữ Ctrl+ Rvài giây. Điều này xóa chuyển hướng cũng như tài nguyên tĩnh.


Tại sao bạn sẽ giữ nó thay vì chỉ nhấn Ctrl+R?
gronostaj

@gronostaj Không phải câu trả lời của tôi đơn giản và đơn giản sao ?? . Không giữ, nó sẽ chỉ là một làm mới bình thường. Mà không xóa tài nguyên lưu trữ hoặc chuyển hướng.
Ryu_hayabusa

Giữ cũng giống như nhấn nó nhiều lần. Mở Notepad và giữ R, nhiều R sẽ xuất hiện. Điều này là hoàn toàn giống nhau, nhưng với Ctrl. Giữ Ctrl+ Rlà tương đương chính xác với việc nhấn nó hàng chục lần mỗi giây trong vài giây. Điều đó không thông minh, nó lạm dụng cơ chế làm mới tích hợp và dựa vào hành vi không có giấy tờ.
gronostaj

@gronostaj Vâng, đó là một hành vi không có giấy tờ. Câu trả lời được chấp nhận không làm việc cho tôi. Đó là lý do tại sao tôi chia sẻ nó ở đây. Tôi không thấy bất kỳ cách nào khác để xóa chuyển hướng được lưu trữ. Nếu bạn biết bất kỳ phương pháp nào khác, hãy chia sẻ.
Ryu_hayabusa

Đã thử và không hoạt động (chuyển hướng 301 trên toàn bộ miền).
mgutt

1

Nếu bạn không muốn mất toàn bộ bộ nhớ cache và chuyển hướng của bạn vẫn bị kẹt trong bộ đệm, bạn có thể thử truy cập phiên bản nguồn-view: của url. Điều đó làm mới bộ đệm chuyển hướng của cùng một url cho tôi.


0

Tôi đã thử tất cả các câu trả lời trên trang này nhưng không có câu trả lời nào cho đến khi tôi chạy flushdns trên cửa sổ dòng lệnh windows.

C:\Users\DBashyal>ipconfig /flushdns

Windows IP Configuration    
Successfully flushed the DNS Resolver Cache.

FYI, tôi đã Disable cachekiểm tra như đã đề cập trong câu trả lời này .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.