<?php
header("Cache-Control: public");
header("Pragma: cache");
$offset = 30*60*60*24; // cache 1 month
$ExpStr = "Expires: ".gmdate("D, d M Y H:i:s", time() + $offset)." GMT";
header($ExpStr);
echo date("Y-m-d l H:i:s A");
?>
我設定了一個月的緩存,但是每次刷新顯示的時間都不一樣,請問程式碼哪裡出錯了?
頁面每次刷新, 你都發送Header, 當然是每次都更新啦.
如果http header上有快取頭的話,
瀏覽器請求這個頁面的時候, 會帶上If-Modified, If-Match, 之類的請求頭,
你需要根據這個If頭裡面的內容來判斷, 是發送304 Not Modified 還是發送新的頁面.