起因——同事合並代碼時沒處理沖突文件直接上傳至服務器,導致某個頁面無法正常訪問;處理沖突之后微信自帶的瀏覽器仍然無法訪問,其他瀏覽器清理緩存之后都能正常訪問了,看來是文件緩存導致的。
我們平台使用的是vue,每次打包產出的文件都是自帶hash值的文件。所以只要入口文件不緩存就行了,css/js文件可以正常使用緩存減輕服務器的負擔
貼上Nginx的配置
location ~ .*\.(htm|html)?$ { add_header Cache-Control "private, no-store, no-cache, must-revalidate, proxy-revalidate"; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location ~ .*\.(js|css)?$ { expires 12h; }
html文件設置請求no-cache ,靜態資源文件設置緩存時間30天,js/css文件設置緩存12小時