如果某些其他响应标题丢失,我可以让Apache 2.2设置一个特定的响应标题

我有一个运行mod_proxy的Apache 2.2服务器。 我们有一个场景,来自原始损坏的响应,它没有任何内容types或caching控制标题。 这意味着下游代理和客户端caching了狡猾的响应。

我想要做的是如果响应没有内容types和caching控制头来插入一个Cache-Control:max-age=0, no-cache

我想在Apache中这样做,你需要运行2.4。 mod_headers是操作响应头文件的mod_headers手段,它不够灵活,无法做到你想要的。

在2.4中,应该这样工作:

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

从rewritecond手册,我还没有testing,但似乎你可以做这样的事情:

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