无法阻止页面被缓存

时间:2013-06-29 17:03:08

标签: php header

我正在使用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>

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

3 个答案:

答案 0 :(得分:1)

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

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

$test = $path . $filename . '?' . time();

答案 1 :(得分:1)

我建议你在.htaccess文件中添加它以防止缓存

<IfModule mod_expires.c>
  ExpiresActive on
  ExpiresByType audio/mp3 "access plus 0 seconds"
</IfModule>

答案 2 :(得分:0)

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