I'm not sure what is the "cache problem" in here, but I use something like this:
header('Expires: Mon, 01 Jan 2001 00:00:00 GMT'); // date in the past
header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0, max-age=0');
header('Pragma: no-cache');
Of course if in such cases like above mentioned redirection takes a place - such headers have to be sent with the redirection "page", not with the landing page where visitors are redirected to. If redirection is done with .htaccess or with some other method (not with PHP script) - I don't know how to attach these headers, unfortunatelly.
If you're using Chrome, take a look at view-source:http://65.19.143.3/. We're using the same headers, but as HTML meta http-equivs.