chr*_*ris 2 regex apache .htaccess mod-rewrite caching
我试过这些?ver=478459东西来帮助阻止浏览器缓存CSS,Images,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
Run Code Online (Sandbox Code Playgroud)
基本上重写规则正在寻找这一点,__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>
Run Code Online (Sandbox Code Playgroud)