我嘗試使用下面的代碼來設置ETAG在我的PHP頁面,ETAG - 如何設置到期時間?
$time = strtotime(date('Y-m-d H:i:').'00');
$lastmod = gmdate('D, d M Y H:i:s \G\M\T', $time);
$etag = '123';
$ifmod = isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) ? $_SERVER['HTTP_IF_MODIFIED_SINCE'] == $lastmod : null;
$iftag = isset($_SERVER['HTTP_IF_NONE_MATCH']) ? $_SERVER['HTTP_IF_NONE_MATCH'] == $etag : null;
if (($ifmod || $iftag) && ($ifmod !== false && $iftag !== false)) {
header('HTTP/1.0 304 Not Modified');
die;
} else {
header("Last-Modified: $lastmod");
header("ETag: $etag");
echo "My Page content";
}
我寫這篇文章的代碼緩存啓用一分鐘,但它並不完美,因爲
strtotime(date('Y-m-d H:i:').'00');
沒有給出一個絕對的一分鐘的間隔。
有沒有其他解決方案?