Estou tendo uma situação um pouco chata aqui.
Eu tenho um servidor gerenciado pelo plesk.
Na configuração baseada em /etc/apache2/apache2.conf mod_headers e mod_expires ocorre.
Por exemplo:
<filesMatch "\.(jpg|jpeg|png|gif|swf)$">
Header set Cache-Control "max-age=604800, public"
</filesMatch>
Isso está funcionando muito bem.
Eu tenho um problema com alguns dos meus aplicativos. Eu quero aplicativo para manter o controle sobre o cache, se quiser.
Atualmente isso não é possível, porque as configurações de cabeçalho ocorrem imediatamente antes de retornar a resposta ao cliente, o que significa que após o aplicativo ter concluído todas as suas ações. Os cabeçalhos definidos pelo aplicativo serão sobrescritos.
Header merge Cache-Controll...
não está funcionando, porque apenas acrescenta a string de cabeçalho dada. E duvido que os navegadores lidem com cabeçalhos como este, como eu gostaria que eles:
Cache-Control max-age=0, no-cache, no-store, must-revalidate, max-age=604800, public
A minha pergunta agora é: Existe uma possibilidade de definir o cabeçalho apenas se houver absolutamente sem conteúdo no cabeçalho específico "campo"?
Eu não quero que meu aplicativo defina quaisquer variáveis de ambiente, porque um aplicativo não deve ser alterado para atender às necessidades de um servidor.
Eu também tentei - apenas para fins de teste - remover o cabeçalho via vhost.conf para um domínio específico. Mas ele é executado antes da configuração do cabeçalho no apache2.conf, o que significa que eles também seriam sobrescritos.