Назад | Перейти на главную страницу

Могу ли я заставить Apache 2.2 установить определенный заголовок ответа, если какой-либо другой заголовок ответа отсутствует

У меня есть сервер Apache 2.2, на котором запущен mod_proxy. У нас был сценарий, когда ответ пришел из источника поврежден, у него не было заголовков типа содержимого или управления кешем. Это означало, что нижестоящие прокси и клиенты кэшировали изворотливые ответы.

Что я хотел бы сделать, так это если в ответе нет заголовка Content-type и cache-control для вставки Cache-Control:max-age=0, no-cache заголовок

из переписать manual, я не тестировал, но похоже, что вы можете сделать что-то вроде:

RewriteCond %{HTTP:Cache-Control} ^$ [AND]
RewriteCond %{HTTP:Content-Type} ^$
Header add Cache-Control:max-age=0, no-cache

Я думаю, чтобы сделать это в Apache, вам нужно будет запустить 2.4. mod_headers - обычное средство управления заголовками ответов, и оно недостаточно гибкое, чтобы делать то, что вы хотите.

В 2.4 должно работать примерно так:

<If "-z resp('Cache-Control') && -z resp('Content-Type')">
    Header set Cache-Control "max-age=0, no-cache"
</If>