Is there any way to have Apache send different Expires headers to a specific remote IP address? I have people doing development on IE that upload images and them can't see the new version of the image unless they empty their cache.
4:04 am on Dec 7, 2010 (gmt 0)
Not that I know of.
Your easy options seem to be: 1) Set the images to short expiry times, or mark them as must-revalidate, for the duration of the dev project. 2) Tell your developers to go into "Internet Options" and turn off browser caching (set the browser cache size or expiry to zero).
Option 1 will increase server load. Option 2 is OK, but do remind your developers to turn their caching back on after testing, or *they* will suffer slow page-loading on all sites in the future.
A final option would be to rewrite all image URL requests to a script, and have that script open and serve the requested image files - along with the cache-control headers appropriate for the requesting client. This script might also have to handle generating a proper 404-Not Found response code for non-existent images, depending on how you code the rewrite.
All of the above assumes that you are already returning a proper Last-Modified timestamp for these image requests, but that IE is ignoring or mis-handling it (which wouldn't surprise me).