Apache httpd中的条件声明

时间:2011-04-18 19:50:36

标签: apache configuration web-config user-agent apache-config

我们希望能够在Apache

中基于User-Agent设置Cache-Control标头

例如,如果User-Agent包含子字符串foo,我们要将Cache-Control设置为10分钟。但如果不把它设置为1天。

搜索周围,我找到了BrowserMatch,但这似乎只设置了环境变量:

BrowserMatch foo short-live  # Sets environment variable short-live

但我想有条件地应用Header set ...ExpiresDefault ...

等指令

有没有办法有条件地申请声明?类似的东西:

<FilesMatch "\.(jpg|jpeg|gif|png|js|css)$">
  Header set Cache-control "max-age=86400"
  <IfBrowser "foo">
    Header set Cache-control "max-age=600"
  </IfBrowser>
</FilesMatch>

注意,IfBrowser是虚构的。有没有可以像这样使用的真正指令?谢谢!

1 个答案:

答案 0 :(得分:2)

啊哈,感谢ServerFault的@muffinista找到了解决方案:

Header set Cache-control "max-age=86400"
BrowserMatch foo short-cache
Header set Cache-control "max-age=600" env=short-cache