是否有任何原因导致我从一个末尾有版本号的CSS文件中得到404错误?
<link rel="stylesheet" href="styles/main.css?v=123">
我的文件也命名为main.css?v=123
。
感谢您的帮助。提前感谢!
您应该将文件重命名为main.css
,然后在html引用中如下所示:<link rel="stylesheet" href="styles/main.css?v=123">
您只需要在更新css后更改HTML中的版本。请记住,您的css文件将始终仅命名为main.css
希望能有所帮助!
为了澄清这一点,我们称之为查询字符串缓存。仅在HTML中添加查询字符串。当你更改它时,大多数浏览器都会认为它是一个新文件,并重新加载它,而不管你如何设置CSS文件的缓存。
通过PHP可以做到这一点,而无需每次更改css文件时手动更改。
<link rel="stylesheet" href="styles/main.css?t=<?php echo filemtime( 'styles/main.css'); ?>" type="text/css" media="screen" />
这会将css文件的修改时间附加到HTML中。每次保存CSS文件时,它都会自动更新。
通过这种类型的链接,您向浏览器传递了HTTP请求GET
,参数为v
,值为123
。服务器仍在查找main.css。404
代码表示找不到页面。
如果您希望服务器处理它,请使用URL重写。或者,您可以尝试通过键入%3F
对问号进行编码。
请注意,windows和MSDOS系统上不允许使用包含问号的文件名。