0

我正在使用 firefox 21 并希望阻止浏览器缓存声音文件。我将此数据发送到浏览器:

header('Cache-Control: no-cache,must-revalidate',true); // HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past

$test = $path.$filename; 

<audio autoplay="autoplay">
  <source src="<? echo $test; ?>" type="audio/mp3" />
</audio>

在服务器上,我更改了文件名和/或文件内容。浏览器不会通过重新加载页面来更新声音。标题有问题吗?

4

3 回答 3

1

我建议您将其添加到您的 .htaccess 文件中以防止缓存

<IfModule mod_expires.c>
  ExpiresActive on
  ExpiresByType audio/mp3 "access plus 0 seconds"
</IfModule>
于 2013-06-29T17:16:15.920 回答
1

您正在有效地为您的 html 文档而不是为您的 mp3 文件设置缓存。

但是,如果要强制重新加载,可以添加查询字符串,例如:

$test = $path . $filename . '?' . time();
于 2013-06-29T17:07:26.867 回答
0

您有两个资源:HTML 页面和 mp3 文件。使用 HTML 发送“不缓存”标题将无济于事。mp3 文件响应必须具有“不缓存”标头。

于 2013-06-29T17:34:20.900 回答