从 Web 服务器下载文件时,我遇到了一个新的奇怪问题。我使用的是 Windows Server 2012。
我将通过例子解释这个问题。
我的服务器中有一个文本文件(update.txt),我正在向其中写入一些有关当前可用下载的信息。
现在我将更新 update.txt。但是当我下载该文件时,下载的是旧 txt 而不是新 txt。我尝试使用 Chrome、Firefox 和 IE 下载并清除历史记录,但问题仍未解决。我已从服务器删除该文件,然后尝试下载,但仍然下载了旧文件。
当我将互联网更换到另一个 ISP 时,问题就解决了。
那么是什么原因导致了此错误?ISP 是否保留了下载的缓存?或者这是 Web 服务器的错误?
答案1
在装有 apache2 的 Linux 服务器上,我将创建一个包含以下内容的 .htaccess 文件:
<ifModule mod_headers.c>
<FilesMatch "\update.txt>
FileETag None
Header unset ETag
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
</FilesMatch>
</ifModule>
如果您在 Windows 上使用 apache2,请尝试一下。