Apache httpd:根据其他*response*标头有条件地设置响应头

uja*_*y68 8 apache apache2

有没有办法有条件地设置一个新的响应头,条件使用另一个响应头?具体而言,只有在响应具有某种Content-Type时才应设置新的响应头.

我已经结合mod_setenvif查看了mod_headers,但看起来条件只能使用请求头,而不是响应头.

谢谢,约翰

小智 6

Apache 2.4就是答案:

当响应内容类型为application/pdf时,设置Cache-Control标头

Header set Cache-Control "no-store,no-transform" "expr=%{resp:Content-Type} =~ m|application/pdf|"

不要尝试使用IF指令.它在过程中过早评估.例如,以下内容不起作用:

<If "%{resp:Content-Type} =~ m|application/pdf|"> Header set Cache-Control "no-store, no-transform" </If>