抱歉,这似乎与许多其他问题非常相似,但我查看了我能看到的所有相关帖子,但它们似乎与我没有完全相同的问题 ;-)
问题是我无法让 .js、.css 和图像的客户端缓存从我的 Apache2 服务器(我有 Ubuntu Apache/2.2.8 和 Windows 下的 WAMP Apache)工作。
使用默认设置,我可以获得良好的 ETag 风格的服务器主导的缓存(304 响应),但是如果我通过将 Header Unset 命令放入我的虚拟主机配置文件中来关闭它,然后补充缓存指令(见下文),它不会似乎受到浏览器的尊重。
我可以看到使用 Firebug 浏览器知道缓存文件在另外几个小时内有效,但它仍然要求它。
任何有关如何调试的提示都将受到欢迎。
主机配置的相关部分如下所示:
<VirtualHost *:80>
DocumentRoot "C:/Projects/A2C/branches/CR7"
ServerName *
ServerAlias localhost ecomsvr0.dmclub.net
ErrorLog "c:\log\a2c.log"
CustomLog "c:\log\a2c-access.log" common
<Directory "c:\projects\A2C\branches\CR7">
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
Allow from all
ExpiresDefault A36000
Header Set Cache-Control "max-age=7200"
Header Unset Etag
Header Unset Last-Modified
</Directory>
</VirtualHost>