如何允许使用htaccess进行目录列表,但禁用浏览器缓存?

时间:2013-03-14 13:58:07

标签: javascript apache caching

我在Apache 2.2.14服务器(Ubuntu 10.04)上有一个XML目录。我只是想让人们从我的PHP应用程序中提供一个链接来从这个目录下载文件。

问题是浏览器会缓存其初始文件列表,并且不会更新以显示新文件,除非按下F5。这个目录获得了很多新文件,虽然它不需要实时更新,但我还是不需要在页脚中写一个注释,提醒客户他们需要F5来查看他们刚刚上传的文件。

奖金问题:我可以将Options -Indexes放在httpd.conf中以避免创建root .htaccess文件吗?

的httpd.conf

ServerName localhost
FileETag none
ExpiresActive On
ExpiresDefault "access plus 30 days"
ExpiresByType text/html A86400

root .htaccess文件:

Options -Indexes

XML目录.htaccess文件

Options +Indexes
IndexIgnore .. *.shtml
IndexOptions SuppressHTMLPreamble XHTML HTMLTable SuppressDescription Charset=UTF-8 NameWidth=*
HeaderName HEADER.shtml
ReadmeName README.shtml
AddType text/xml .xml

HEADER.shtml

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
  <head>
    <META HTTP-EQUIV="Pragma" CONTENT="no-cache">
    <META HTTP-EQUIV="Expires" CONTENT="-1">
  </head>
  <body>

README.shtml

  </body>
</html>

可能值得指出这是通过javascript打开链接的方式:

var newWin = window.open(url,name,'height=800,width=600,menubar=no,titlebar=0,resizable=yes,toolbar=no,scrollbars=yes,screenX=100,screenY=100,dependent=no');
newWin.focus();

1 个答案:

答案 0 :(得分:0)

我将ExpiresActive Off添加到 XML目录.htaccess文件,目录列表现在总是新鲜的。