Можно meta тегами объяснять браузеру как он должен кэшировать:
<meta http-equiv="Expires" content="-1" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Cache-Control" content="no-cache" />
http://webanatomy.narod.ru/html/html1.html
Можно еще на сервере no-cache прописать. Я не знаю как для php. Для c# так:
Response.Cache.SetNoServerCaching();
Response.Cache.SetExpires(DateTime.Now.AddMinutes(-1));
Response.Cache.SetCacheability( HttpCacheability.NoCache);
Response.Cache.SetValidUntilExpires(false);
Ну и что бы совсем точно было, можно добавлять к url случайный параметр:
<img src="myimage.jpg?rand=<%= StringUtils.CreateRandomHex(10) %>" alt="" />