解决方法:在404状态码之前将缓存动态关闭 C('HTML_CACHE_ON',false);

// 404
public function _404(){
	C('HTML_CACHE_ON',false);//关闭缓存
	header("HTTP/1.0 404 Not Found");
	$this->display('Public:404');
	exit;
}

这样所有的404页面就都不会缓存了,对不需要缓存的页面也可以这样做。