Nếu không có mod_Exires , sẽ khó hơn để đặt các tiêu đề hết hạn trên các tệp của bạn. Đối với mọi thứ được tạo, bạn chắc chắn có thể đặt một số tiêu đề mặc định cho câu trả lời, thực hiện công việc của mod_Exires như thế:
<?php header('Expires: '.gmdate('D, d M Y H:i:s \G\M\T', time() + 3600)); ?>
(lấy từ: Stack Overflow answer từ @brianegge , trong đó giải pháp cũng được giải thích)
Bây giờ điều này sẽ không làm việc cho các tệp tĩnh , như các tệp javascript của bạn. Đối với các tệp tĩnh, chỉ có apache (không có bất kỳ mô đun hết hạn nào) giữa trình duyệt và tệp nguồn. Để ngăn bộ nhớ cache của các tệp javascript, được thực hiện trên trình duyệt của bạn, bạn có thể sử dụng mã thông báo ngẫu nhiên ở cuối url js, đại loại như ?rd=45642111
vậy, vì vậy url trông giống như:
<script type="texte/javascript" src="my/url/myjs.js?rd=4221159546">
Nếu url này trên trang được tạo bởi một tệp PHP, bạn chỉ cần thêm phần ngẫu nhiên bằng PHP. Cách ngẫu nhiên url này bằng cách đơn giản nối thêm các tham số chuỗi truy vấn ngẫu nhiên là ví dụ cơ bản về cài đặt no-cache của yêu cầu jQuery ajax. Trình duyệt sẽ không bao giờ coi 2 url có các chuỗi truy vấn khác nhau giống nhau và sẽ không bao giờ sử dụng phiên bản được lưu trong bộ nhớ cache.
BIÊN TẬP
Lưu ý rằng bạn nên kiểm tra mod_headers . Nếu bạn có mod_headers, bạn có thể đặt tiêu đề Hết hạn trực tiếp với từ khóa Header .