Ít nhất hai trình duyệt - Chrome và Firefox - sẽ lưu trữ bộ chuyển hướng 301 mà không có thời hạn sử dụng .
Đó là, nó sẽ vẫn được lưu trữ miễn là bộ nhớ cache của trình duyệt có thể chứa nó. Nó sẽ bị xóa khỏi bộ đệm nếu bạn xóa thủ công bộ đệm hoặc nếu các mục trong bộ đệm được xóa để nhường chỗ cho những cái mới.
Bạn có thể xác minh điều này ít nhất trong Firefox bằng cách truy cập about:cache
và tìm nó trong bộ đệm đĩa.
Tôi không biết về hành vi của các trình duyệt khác, chẳng hạn như IE10 / IE11. Tuy nhiên, do các trình duyệt khác thực hiện lưu trữ bộ nhớ cache vô thời hạn, bạn sẽ phải đáp ứng điều này.
Trong tất cả các trình duyệt, bao gồm Chrome / Firefox, vẫn có thể ghi đè hành vi mặc định này bằng các tiêu đề, như được mô tả dưới đây:
Lưu ý: câu trả lời này đã được viết vào năm 2014 và hành vi của trình duyệt có thể thay đổi theo thời gian.
Nếu bạn không muốn chuyển hướng được lưu trữ
Bộ nhớ đệm không xác định này chỉ là bộ đệm ẩn mặc định của các trình duyệt này trong trường hợp không có tiêu đề Cache-Control. Logic là bạn đang chỉ định chuyển hướng "vĩnh viễn" và không cung cấp cho họ bất kỳ hướng dẫn bộ đệm nào khác, vì vậy họ sẽ coi nó như thể bạn muốn nó được lưu trong bộ nhớ cache vô thời hạn.
Các trình duyệt vẫn tôn trọng tiêu đề Cache-Control và hết hạn như với bất kỳ phản hồi nào khác, nếu chúng được chỉ định.
Bạn có thể thêm các tiêu đề như Cache-Control: max-age=3600
hoặc Expires: Thu, 01 Dec 2014 16:00:00 GMT
vào chuyển hướng 301 của bạn. Bạn thậm chí có thể thêm Cache-Control: no-cache
để trình duyệt sẽ không được lưu trong bộ nhớ cache vĩnh viễn hoặc Cache-Control: no-store
do đó trình duyệt không thể được lưu trữ trong bộ lưu trữ tạm thời của trình duyệt.
Tuy nhiên, một sự thay thế tốt hơn theo quan điểm của tôi là sử dụng chuyển hướng 302 hoặc 307. Những điều này không ngụ ý cho các trình duyệt hoặc bộ nhớ cache rằng chúng là các chuyển hướng "vĩnh viễn" và do đó không nên lưu vào bộ nhớ cache trong sự vắng mặt của các tiêu đề Kiểm soát bộ đệm.
Đối với tôi, nó có vẻ như ban hành một chuyển hướng 301 nhưng đánh dấu nó là không lưu trữ được sẽ đi ngược lại với tinh thần của chuyển hướng 301 là gì, mặc dù nó có thể hợp lệ về mặt kỹ thuật. YMMV và bạn có thể tìm thấy các trường hợp cạnh trong đó có ý nghĩa cho việc chuyển hướng "vĩnh viễn" có giới hạn thời gian.
Nếu trước đây bạn đã ban hành chuyển hướng 301 nhưng muốn hủy thực hiện điều đó
Nếu mọi người vẫn có chuyển hướng 301 được lưu trong bộ nhớ cache trong trình duyệt của họ, họ sẽ tiếp tục được đưa đến trang đích bất kể trang nguồn có còn chuyển hướng đúng chỗ hay không. Các tùy chọn của bạn để sửa lỗi này bao gồm:
Giải pháp đơn giản và tốt nhất là phát hành lại một chuyển hướng 301 khác.
Trình duyệt sẽ nhận ra rằng nó đang được chuyển trở lại với những gì trước đây nó nghĩ là một URL không được ủy quyền và điều này sẽ khiến nó tải lại URL đó một lần nữa để xác nhận rằng chuyển hướng cũ không còn ở đó.
Chỉnh sửa: một số ý kiến ném nghi ngờ về điều này, xem bên dưới.
Nếu bạn không có quyền kiểm soát trang web nơi mục tiêu chuyển hướng trước đó đã đến, thì bạn sẽ gặp may. Hãy thử và cầu xin chủ sở hữu trang web chuyển hướng lại cho bạn.
Ngoài ra, phòng bệnh hơn chữa bệnh - tránh chuyển hướng 301 nếu bạn không chắc chắn muốn hủy vĩnh viễn URL cũ.