Namiesto redirectu nastavíš rovno HTTP hlavičky a ako odpoveď pošleš ten súbor.
Napr. nejako takto (hlavičky si nastavíš, aké chceš - napr. keď vieš konkrétny Content-Type, môžeš ho použiť):
$filename = "files/x.zip";
header("Cache-Control: private");
header("Content-Type: application/octet-stream");
header("Content-Length: " . filesize($filename));
header("Content-Disposition: attachment;filename=x.zip");
readfile($filename);