許多PHP開發人員在他們的PHP頁面頂部添加了no-cache標頭,因此我也是如此,原因很明顯。由於PHP生成的內容通常是動態的,因此瀏覽器緩存它們會導致過時的數據呈現給用戶。爲了避免這種緩存通常被禁用。PHP如何不緩存生成的HTML,但緩存靜態數據,如圖像/ js/css
<?php
//no cache headers
header("Expires: Mon, 26 Jul 1990 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
?>
的問題是,由於這個頭,也是我的圖像,JavaScript文件和CSS文件,這是靜態的,因此可以(也應該)被緩存,也不會被緩存。這使網站變慢了很多。
有沒有辦法讓PHP內容沒有緩存,但仍然有緩存js/images/css?
假設我完全可以修改(linux)服務器配置,HTACCESS,當然還有PHP文件本身,這怎麼能實現呢?
或者是動態PHP文件不需要的整個「no-cache thing」?甚至當它們被url重寫爲無擴展時。
已經有'header(「Expires:Mon,1990年7月26日05:00:00 GMT」);'對嗎? –
是的,因爲我發佈了,爲什麼? –
對不起,我感到困惑。別介意我的評論! –