我有这个脚本:
location ~* ^.+\.(css|js)$ {
expires -1;
access_log off;
add_header Pragma public;
add_header Cache-Control "public, max-age=0";
add_header X-Asset "yes";
}
但是当我查看Chrome中的开发者工具时,我看到了这一点:
Cache-Control:max-age=2592000
Content-Encoding:gzip
Content-Type:application/javascript
Date:Mon, 12 Feb 2018 16:45:22 GMT
ETag:W/"5a81c436-e5d7f"
Expires:Wed, 14 Mar 2018 16:45:22 GMT
Last-Modified:Mon, 12 Feb 2018 16:43:34 GMT
Server:nginx
Vary:Accept-Encoding
如何设置CSS和JS必须始终在页面加载时进行简单操作。我现在有3年的网站,我真的不会改变它。
用Ruby on Rails编写,从大约一周开始,人们开始编写他们无法打开某个页面,因为<% link_to "visits", visits_path %>
将它们重定向到root_path ......
我无法重现此错误,因为在我的每个浏览器上一切正常,但是一旦我遇到这种情况,当我打开开发人员工具并重新加载页面以检查某些错误时,页面只是正确加载。所以我想总是在每个页面加载时加载JS。
编辑:
尝试像第一个回答一样改变我仍然看到:
Cache-Control:max-age=31536000, public, max-age=0
Content-Encoding:gzip
Content-Type:application/javascript
Date:Thu, 15 Feb 2018 19:36:38 GMT
ETag:W/"5a85c673-8fb59"
Expires:Fri, 15 Feb 2019 19:36:38 GMT
Last-Modified:Thu, 15 Feb 2018 17:42:11 GMT
Pragma:public
Server:nginx
Vary:Accept-Encoding
X-Asset:yes
仅在隐身模式下才可以正常使用。
答案 0 :(得分:0)
如何设置CSS和JS必须始终在页面加载上进行实时加载
尝试将这组标题设为this SO answer suggests:
Cache-Control: no-cache, no-store, must-revalidate
Pragma: no-cache
Expires: 0
所以你的nginx配置可能如下所示:
location ~* ^.+\.(css | js)$ {
expires 0;
access_log off;
add_header Pragma "no-cache";
add_header Cache - Control "no-cache, no-store, must-revalidate";
add_header X - Asset "yes";
}