У меня возникли проблемы с предотвращением включения mod_deflate в этом сценарии:
Дело в том, что Apache всегда определяет контент как php
, и поэтому что-то вроде , строки ниже не будут работать , как предполагает сервер файл ZIP как файл PHP.
<FilesMatch "\.(xml|txt|html|php)$">
SetOutputFilter DEFLATE
</FilesMatch>
Любые идеи о том, как я могу отличить Apache от файла HTML или файла ZIP, оба сгенерированы одним и тем же файлом фреймворка index.php
.
Править :
журнал apache
[Mon Jun 20 02:14:19 2011] [debug]
mod_deflate.c(602): [client 192.168.0.5]
Zlib: Compressed 50870209 to 50878224 : URL /index.php,
referer: http://demo.dev/
Изменить:
Контроллер CI, обслуживающий zip-архив
header('Content-Type: application/zip');
header('Content-Transfer-Encoding: binary');
header("Content-Length: " . filesize($file_location));
header('Content-Disposition: attachment; filename="' . $file_title . '"');
readfile($file_location);