Отключить сжатие Gzip для одного файла php с IIS - PullRequest
3 голосов
/ 11 июля 2011

У меня есть конфигурация, которая не кажется слишком распространенной в Интернете (PHP с IIS), и до сих пор я не смог найти решение для моей проблемы из-за этого.

В основном, когда я отправляю ручной заголовок 404 на мою страницу php:

header('HTTP/1.0 404 Not Found');

Проблема в том, что я всегда получаю ошибки кодирования, которые, как я определил, как-то связаны с включенным gzip.

Когда я скручиваюсь с --compressed, я получаю:

HTTP/1.1 404 Not Found
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Length: 3560
Content-Type: text/html
Content-Encoding: gzip
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Vary: Accept-Encoding
Server: Microsoft-IIS/6.0
Set-Cookie: PHPSESSID=b0ueqhtc3o4p7m2luqss170fr3; path=/
Date: Mon, 11 Jul 2011 16:15:40 GMT

curl: (61) Error while processing content unencoding: invalid code lengths set

Можно ли отключить сжатие только для этой страницы? Или есть какое-то другое решение для этого, что я пропускаю? Я не хочу отключать сжатие для всего сайта.

1 Ответ

8 голосов
/ 11 июля 2011

Это просто, просто используйте набор ini следующим образом:

<?php 
    if(ini_get('zlib.output_compression')){ 
        ini_set('zlib.output_compression', 'Off'); 
    }
    header('HTTP/1.0 404 Not Found');
?>

Просто так.

...