我试过 ?ver=478459
有助于防止浏览器缓存某些文件(如 CSS、图像、JavaScript)的内容。而且自从我开始意识到它的唯一帮助。似乎不是每次都有效。例如,有时我必须使用 VPN 才能工作,并且无论出于何种原因,即使在更改文件末尾的参数时,如上述文件也会保留在缓存中,直到我清除它。我想参数可能由于某种原因没有坚持,因为我正在通过代理运行。但是,情况似乎也不总是如此。
无论如何。我想弄清楚,如果有一种方法可以通过 htaccess 为我的 js、css、img 文件提供 rewrite_rule,如果提供的 URL 是我不知道的让我们说
/scripts/jquery/__ver<version number>__/filename.js
/scripts/__ver<version number>__/filename2.js
/scripts/3.0.x/__ver<version number>__/filename2.js
/styles/jquery-ui/__ver<version number>__/filename.css
/styles/__ver<version number>__/filename2.css
/img/__ver<version number>__/something.png
/img/dir/dir/dir/__ver<version number>__/something-else.png
基本上是重写规则寻找这个 __ver<version number>__
的地方具体和<version number>
是 3 点版本控制逻辑或某种 md5.. 或基本上寻找 _ver*_
的任何一种方式
当找到它时,重写规则将删除它并使用没有该部分的路径
最佳答案
您可以在 .htaccess 中为选定的文件扩展名明确禁用缓存:
<FilesMatch "\.(png|jpe?g|gif|js|css)$">
FileETag None
<ifModule mod_headers.c>
Header unset ETag
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "Tue, 14 Jan 1975 01:00:00 GMT"
</ifModule>
</FilesMatch>
关于regex - .htaccess 重写规则以防止缓存 css、js、图像文件。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18724917/