为实现缓存破坏,链接一个附带版本号的CSS文件。

3

css文件名为:style.css?v=1

在html中的链接为:<link rel="stylesheet" href="style.css?v=1">


与经典的style.css不同,style.css?v=1无法被识别:

Failed to load resource: the server responded with a status of 404 (Not Found)

我错过了什么?版本控制文件的重要性在哪里,?v=1语法又是从哪里来的?


1
“style.css?=v1”无法被识别。你使用的是哪一个,是“style.css?=v1”还是“style.css?v=1”(根据你提供的链接)(正确的语法是“?v=1”,这被称为查询字符串)。 - Nick Parsons
1
哦,谢谢,那是个打错字了 - 我正在使用 ?v=1 - Malte
1个回答

2
  • 浏览器中的表达式style.css?v=1表示一个动态文件,就像“获取参数名为“v”的文件style.css”。只要更改v参数的值,文件就会作为新的唯一url获取。
  • 表达式style.css?=v1没有意义。
  • 表达式style.css?1也可以工作。

查询字符串是否仅基于命名?或者在style.css?v=1style-v1.css之间是否存在任何技术差异? - Malte
1
这两者之间的区别在于,如果你正在处理一个名为style.css的文件并且想要去除缓存,那么在结尾加上?v={version_number}就足够了。文件style-v1.css与服务器内的文件style-v2.css不同,这意味着每次你想要在浏览器中去除缓存时都必须创建一个新文件。 - Kostas Krevatas

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接