
Eu uso o Apache 2.2 commod_proxypara algum servidor HTTP de terceiros.
Como não envia nenhum Cache-Control
cabeçalho, quero adicionar 1 dia para o código de resposta 200, 5 min para 404 e 0 para qualquer outro código de resposta.
Então eu gostaria de algo como:
SetEnvIf HttpResponseCode "200" rc_200
SetEnvIf HttpResponseCode "404" rc_404
Header set "Cache-Control" "private, max-age=0"
Header set "Cache-Control" "public, max-age=86400" env=rc_404
Header set "Cache-Control" "public, max-age=86400" env=rc_200
Responder1
Eu sei que minha resposta provavelmente chegará tarde demais, mas pode ser útil para qualquer pessoa que queira definir um cabeçalho em uma resposta HTTP com base em uma condição e, mais especificamente, em uma condição no código de status HTTP.
Você pode encontraraquium exemplo de tal configuração (exemplo #8):
- Anexe um cabeçalho de cache para respostas com um código de status HTTP 200:
Header append Cache-Control s-maxage=600 "expr=%{REQUEST_STATUS} == 200"
Ele pode ser estendido para suportar qualquer condição baseada em variáveis de ambiente de solicitação/resposta.
Este exemplo funciona para Apache httpd v2.4: suspeito que não funcione para httpd v2.2...