I''m trying caches_page to cache an action(img file from db). If the file doesn''t exist, I just do following in my code: render(:nothing => true, :status => 404) Rails then creates an cache file with zero byte, and I can see the status code as 404 in Apache access_log. However the next time when try to access the same url, the access_log shows status code of 200 instead of 404. Certainly this is due to the existence of empty cache file. Is it a feature(?) or bug? How to avoid/work around it? Thanks, Kevin