A very common solution is to do the following:
<ifModule mod_headers.c>
FileETag None
Header unset ETag
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "Thu, 01 Jan 1970 00:00:01 GMT"
</ifModule>
I do want them to be cached, but I also want them to be invalidated when we redeploy. I'm thinking that I need to re-enable the ETag and then when we re-upload files "touch" them so the timestamps will all read the current time and they'll get a different ETag.
I'm somewhat going by what I'm reading from this answer:
https://stackoverflow.com/questions/499966/etag-vs-header-expires
Does that sound correct?