Vagrant中Apache或Nginx,修改css/js等靜態文件不生效的解決方案

這個大坑,折騰了很久 今天中午google到了  順便鄙視下百度 毛到搜不到css

Vagrant中Apache或Nginx,修改css/js等靜態文件不生效的解決方案

若是你在Vagrant上開發,代碼文件是從host機上share到vm裏的,那麼有可能遇到這個問題:
修改了一些靜態文件,可是怎麼刷新瀏覽器清除緩存,仍是老的內容。那麼你須要關閉Apache或Nginx的sendfile()功能。瀏覽器

簡單來講,sendfile() 使用kernel的調用直接把硬盤上的文件copy給tcp鏈接,若是你用的是遠程的文件系統,好比NFS或者VirtualBox Guest Additionos這種,那麼這個方法就很不可靠。緩存

更多關於sendfile() 的信息可參考 http://www.techrepublic.com/article/use-sendfile-to-optimize-data-transfer/tcp

在Apache中關閉sendfile,使用 EnableSendfile offide

在Nginx中則爲 sendfile offpost

相關文章
相關標籤/搜索