[apache] 設定 ExpiresDefault 注意事項

我昨天又接到合作廠商的電話

“嘿 Louis, 為什麼我後台輸入資料按更新”

“結果資料都寫不進去 還是舊的資料”

DSC01278

我想說怎麼可能

案子又沒改東西

怎麼可能突然資料就寫不進去

打開後來隨便輸入幾筆資料

按更新

還真的寫不進去

但因為這已經不是第一次了

嚇不倒路老闆的

之前廠商已經發生過一樣的問題了

那時我也是找了好久

舉凡沾到 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 沒關係

要懂意思啊…

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料