[apache] 設定 ExpiresDefault 注意事項
2016 Sep 01 未分類
我昨天又接到合作廠商的電話
"嘿 Louis, 為什麼我後台輸入資料按更新"
"結果資料都寫不進去 還是舊的資料"
我想說怎麼可能
案子又沒改東西
怎麼可能突然資料就寫不進去
打開後來隨便輸入幾筆資料
按更新
還真的寫不進去
但因為這已經不是第一次了
嚇不倒路老闆的
之前廠商已經發生過一樣的問題了
那時我也是找了好久
舉凡沾到 php 程式的
全部有問題
連登入登出都有問題
我還真的去 debug
後來發現
加了一些 code 去印一些 message
也印不出來
我大概就猜到
幹 是 cache
結果去看 .htaccess
果然被改過了
我看到內容有這幾行
## EXPIRES CACHING ##
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 week"
ExpiresByType text/html "access 1 week"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 week"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 1 month"
## EXPIRES CACHING ##
真的是王八蛋
王八蛋的不是 cache
而是最後一行
ExpiresDefault "access 1 month"
因為他加了這個
所有非上述的 type
都 cache 一個月
所以咧?
php 的要求都不會更新
瀏覽器都以為可以一年不抓
這樣程式是怎麼運作啊?
據做 SEO 的朋友調查
這位老兄是抄
https://www.siteground.com/kb/leverage-browser-caching/
這種人也在做 SEO
其實也不意外啦
我以前還遇過
會在客戶網站裡面塞自己SEO客戶外連的網站設計師咧
就在開業接 SEO 業務了
這廠商也不是他自己做的
但他不曉得哪裡找來的 SEO 工程師
基於道義馬上寫信跟老闆講
至於他們怎麼處理這個工程師我就不知道了
貼 code 沒關係
要懂意思啊...