What's the opposite of "Header append Vary User-Agent", how to remove the "User-Agent" string from "Vary"?

3k views Asked by At

I know that I can add the User-Agent to the Vary http header with this line in my .htacess:

Header append Vary User-Agent

But how can I remove the User-Agent from the Vary header if it is already set?

According to the mod_headers doc there is an append option, but no equivalent "remove" option.

2

There are 2 answers

4
covener On BEST ANSWER

Simple answer below, but you need some shenanigans to avoid sending an empty Vary: header (try to avoid it out of paranoia)

Header edit Vary (.*)User-Agent(.*) $1$2
# Remove leading or trailing ',' without making things complex above
Header edit Vary ^,?(.*),?$ $1
# 2.4-only: remove empty Vary header
Header unset Vary "expr=resp('Vary') =~ /^$/"

x-never-match can be any unlikely-to-ever-be-used header name.

0
John R Perry On

Though this is not as generic as being able to remove the specific User-Agent keyword, it gets the job done:

Header set Vary "Accept-Encoding"

This will overwrite your existing header so that the vary header will only have Accept-Encoding