Declaração conjunta no httpd Apache

2

Queremos poder definir os cabeçalhos Cache-Control baseados no User-Agent no Apache

Por exemplo, se um User-Agent contiver substring foo , queremos definir o Cache-Control como 10 minutos. Mas se não for definido para 1 dia.

Pesquisando, encontrei BrowserMatch , mas isso parece definir apenas variáveis de ambiente:

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

Mas eu gostaria de aplicar condicionalmente uma diretiva como Header set ... ou ExpiresDefault ...

Existe uma maneira de aplicar declarações condicionalmente? Algo como:

<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>

Note que IfBrowser é fictício. Existe alguma diretriz real que possa ser usada assim? Obrigado!

PS É repostado do link desde que recebeu pouca atividade.

    
por sligocki 19.04.2011 / 18:43

1 resposta

1

ATUALIZADO - sim, o código anterior não era bom. No entanto, isso pode colocá-lo na direção certa:

Header set Cache-control "max-age=86400"

SetEnvIfNoCase User-Agent libwww short-cache
Header set Cache-control "max-age=600" env=short-cache

Eu realmente testei isso, parece funcionar.

    
por 19.04.2011 / 20:06