这个大坑,折腾了好久 今天中午google到了  顺便鄙视下百度 毛到搜不到

Vagrant中Apache或Nginx,修改css/js等静态文件不生效的解决方案

如果你在Vagrant上开发,代码文件是从host机上share到vm里的,那么有可能遇到这个问题:

修改了一些静态文件,但是怎么刷新浏览器清除缓存,还是老的内容。那么你需要关闭Apache或Nginx的sendfile()功能。

简单来说,sendfile() 使用kernel的调用直接把硬盘上的文件copy给tcp连接,如果你用的是远程的文件系统,比如NFS或者VirtualBox Guest Additionos这种,那么这个方法就很不可靠。

更多关于sendfile() 的信息可参考

在Apache中关闭sendfile,使用 EnableSendfile off

在Nginx中则为 sendfile off