Условное объявление в Apache httpd - PullRequest
2 голосов
/ 18 апреля 2011

Мы хотим иметь возможность устанавливать заголовки Cache-Control на основе User-Agent в Apache

Например, если 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 Ответ

2 голосов
/ 21 апреля 2011

Ага, спасибо @muffinista из ServerFault, который нашел решение:

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