Yeah, that's what I meant. Why can't you simply change the html? Is it a page that a lot of people have saved locally?
Always constrain your RewriteRule as tightly as possible so mod_rewrite doesn't need to check the conditions for every single request. If the filename is
put that part into the "pattern" side of the Rule itself. And then have the Condition check that the host is not what you want it to be.
Since it's an image within html, you can use either a rewrite or a redirect. But a redirect is safer. And, again, you only need to pick up the ones that aren't already getting the correct URL from the html itself.
I guess we may need to keep the aws on - you are right - it doesn't make sense to check and rewrite on every page load - a redirect would've worked cause then it would've been only when the image appeared in the html.