【发布时间】:2012-03-02 22:15:45
【问题描述】:
为了减少对 UI 资产 (JS/CSS) 的 HTTP 请求,我编写了一个 PHP 脚本来组合这些文件并将其提供为:“assets/basic,login,jquery-ui-10.css”和这很好用,但我决定更进一步,并要求浏览器通过在 PHP 脚本中添加过期标头来缓存这些资产组合器(我称之为它们)。当然,在这里我使用 htacess RewriteRule 功能来引用这个脚本 assets.php?files=basic,login,jquery-ui&type=css&version=10 到上面的那个,使它看起来像一个 CSS 文件供浏览器缓存它(这样看起来不错:))。我也使用“版本”参数来强制浏览器更新文件,但不会发生!!,我已经添加了这些头信息来缓存文件:
header("HTTP/1.1 304 Not Modified");
header("Expires: Sat, 1 Jun 2015 12:00:00 GMT");
header("Cache-Control: must-revalidate");
然而,当我尝试更改上面 URL 字符串中的版本参数时,尽管文件名已更改,但它不会下载新的文件内容 > 用于浏览器
我在这里做错了什么,如何强制浏览器重新下载具有不同名称的新文件(但仍发送上述标头)
提前致谢
【问题讨论】:
标签: php javascript css .htaccess user-interface