2011-04-18 3 views
2

Nous voulons être en mesure de définir les en-têtes Cache-Control basé sur User-Agent dans Apachedéclaration conditionnelle dans Apache httpd

Par exemple, si un User-Agent contient substring foo nous voulons mettre Cache-Control 10 minutes. Mais sinon, réglez-le sur 1 jour.

autour de la recherche, j'ai trouvé BrowserMatch, mais qui semble ne définir des variables d'environnement:

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

Mais je voudrais faire une demande conditionnelle directive comme Header set ... ou ExpiresDefault ...

est-il un moyen appliquer conditionnellement les déclarations? Quelque chose comme:

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

Remarque, IfBrowser est fictif. Y a-t-il une vraie directive qui pourrait être utilisée comme ça? Merci!

+0

à http://serverfault.com/questions/261346/contional-declaration-in-apache-httpd à cause Quote du manque de réponse ici. – sligocki

Répondre

2

Aha, grâce à @muffinista à ServerFault qui ont trouvé la solution:

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