Hướng dẫn sửa lỗi ERR_CACHE_MISS trên website
Bạn đang gặp phải lỗi err_cache_miss khi sử dụng website và không biết phải xử lý thế nào? Đừng lo lắng! Bài viết này sẽ giúp bạn hiểu rõ nguyên nhân và cách khắc phục lỗi err_cache_miss một cách nhanh chóng, đơn giản nhất.
Lỗi ERR_CACHE_MISS Là Gì?
Lỗi err_cache_miss là một lỗi phổ biến xuất hiện trên trình duyệt Chrome (và một số trình duyệt nhân Chromium khác như Edge, Brave) khi người dùng cố gắng quay lại trang trước bằng nút Back. Thay vì hiển thị lại nội dung trang, trình duyệt lại báo lỗi với thông báo:
ERR_CACHE_MISS – Confirm Form Resubmission
Hoặc đôi khi hiển thị thông báo yêu cầu người dùng xác nhận gửi lại dữ liệu form.

Lỗi này đặc biệt hay xảy ra trong các tình huống sau:
- Người dùng sử dụng ô tìm kiếm trên website để tìm sản phẩm, sau đó nhấn nút Back.
- Người dùng vừa submit một form (đặt hàng, đăng nhập, liên hệ…) rồi nhấn quay lại.
- Website sử dụng các trang có query string hoặc POST request mà không xử lý redirect đúng cách.
Nguyên Nhân Gây Ra Lỗi ERR_CACHE_MISS
Để hiểu cách fix lỗi err_cache_miss, trước tiên bạn cần nắm nguyên nhân tại sao nó xảy ra.
Khi người dùng submit một form (ví dụ: form tìm kiếm), trình duyệt gửi một POST request lên server. Dữ liệu của request này không được lưu vào cache của trình duyệt vì lý do bảo mật trình duyệt không tự động cache các POST request.
Khi người dùng nhấn nút Back, trình duyệt cố gắng tải lại trang đó. Tuy nhiên vì dữ liệu POST không có trong cache, trình duyệt sẽ:
- Hoặc yêu cầu người dùng xác nhận gửi lại dữ liệu form.
- Hoặc hiển thị lỗi err_cache_miss nếu không thể xử lý yêu cầu đó.
Đây là hành vi mặc định của các trình duyệt nhân Chromium khi gặp phải tình huống này.
Cách Fix Lỗi ERR_CACHE_MISS
Sau một đêm tìm kiếm trên Stack Overflow, mình đã tìm ra giải pháp đơn giản và hiệu quả nhất để khắc phục lỗi err_cache_miss. Cách fix này không cần cài thêm plugin, không cần chỉnh sửa server chỉ cần một đoạn JavaScript nhỏ.
Giải Pháp: Sử Dụng window.history.replaceState
Chỉ cần copy đoạn JavaScript sau và chèn vào website là lỗi sẽ được khắc phục:
if ( window.history.replaceState ) {
window.history.replaceState( null, null, window.location.href );
}
Đoạn Code Này Hoạt Động Như Thế Nào?
Phương thức window.history.replaceState() cho phép bạn thay thế trạng thái hiện tại trong lịch sử điều hướng của trình duyệt mà không cần tải lại trang.
Cụ thể:
- window.history.replaceState(null, null, window.location.href) sẽ thay thế entry hiện tại trong history stack bằng một GET request trỏ đến cùng URL.
- Khi người dùng nhấn Back, trình duyệt sẽ thấy đây là một GET request thông thường có thể cache được thay vì POST request.
- Kết quả: không còn lỗi err_cache_miss nữa!
Đây là giải pháp được cộng đồng lập trình viên trên Stack Overflow đánh giá cao vì tính đơn giản và hiệu quả.
Hướng Dẫn Chèn Code Vào WordPress
Nếu website của bạn sử dụng WordPress, có vài cách để chèn đoạn JavaScript này:
Cách 1: Sử Dụng Plugin Insert Headers and Footers
1.Cài đặt và kích hoạt plugin Insert Headers and Footers (hoặc WPCode).
2.Vào Settings → Insert Headers and Footers.
3.Dán đoạn code vào phần Scripts in Footer:
<script>if ( window.history.replaceState ) {
window.history.replaceState( null, null, window.location.href );
}
</script>
4.Lưu lại và kiểm tra.
Cách 2: Chèn Vào File functions.php
Thêm đoạn sau vào file functions.php của theme đang dùng:
function fix_err_cache_miss() {
?>
<script>
if ( window.history.replaceState ) {
window.history.replaceState( null, null, window.location.href );
}
</script>
<?php
}
add_action( ‘wp_footer’, ‘fix_err_cache_miss’ );
Cách 3: Chèn Trực Tiếp Vào Theme
Mở file footer.php của theme và chèn đoạn script trước thẻ đóng </body>.
Kiểm Tra Sau Khi Fix
Sau khi đã chèn code, hãy thực hiện các bước sau để xác nhận lỗi err_cache_miss đã được khắc phục:
- Xóa cache trình duyệt – nhấn Ctrl + Shift + Del và xóa cache.
- Truy cập website và thực hiện tìm kiếm hoặc submit form.
- Nhấn nút Back trên trình duyệt.
- Nếu trang hiển thị bình thường mà không báo lỗi → bạn đã fix thành công!
Kết Luận
Lỗi err_cache_miss tuy trông có vẻ phức tạp nhưng thực ra rất dễ khắc phục chỉ với vài dòng JavaScript. Nguyên nhân cốt lõi là do trình duyệt không cache được POST request, và giải pháp là dùng window.history.replaceState để chuyển đổi entry trong history stack thành GET request.
Hy vọng bài viết hữu ích với bạn. Nếu có câu hỏi gì, hãy để lại bình luận bên dưới nhé! Chúc bạn thành công!