Apache Web Server快取造成開發上傳修改檔案無法立即更新的解法
最近在寫網頁應用突然發現改好上傳的檔案在瀏覽器端並未顯示新的變更,檢查網頁上的檔案確實是新的,問題研判是在httpd的快取,我找了幾個解決方法,可以從二個方向下手:
1.在public_html目錄下有一個.htaccess檔案,加入
<FilesMatch ".(php|html|htm|js|css)$"> FileETag None Header unset ETag Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate" Header set Pragma "no-cache" Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT" </FilesMatch>幾個同學測試的結果是上面的處置就可以了。 2.從檔案本身的檔頭 從html檔案本身的檔頭處理,在head裏加上:
<meta http-equiv="expires" content="Sun, 01 Jan 2014 00:00:00 GMT"/> <meta http-equiv="pragma" content="no-cache" />若是php檔:
<?php header('Expires: Sun, 01 Jan 2014 00:00:00 GMT'); header('Cache-Control: no-store, no-cache, must-revalidate'); header('Cache-Control: post-check=0, pre-check=0', FALSE); header('Pragma: no-cache'); ?>3.透過httpd的.htaccess檔設定mod_rewrite