Mam problem z kodowaniem GZIP-opwaniem plików css js.

Wszystkie pliki JS i CSS nie wysyłam bezpośrednio do klienta tylko przepuszczam przez taki skrypt

  1. <?
  2. $file=$_GET['url'];
  3.  
  4. $file_arr = explode('/', $file);
  5. if(count($file_arr) > 1)
  6. {
  7.    $directory_temp='gzipped';
  8.    
  9.    foreach($file_arr as $directory)
  10.    {
  11.        $directory_temp .= '/'.$directory;
  12.        
  13.        @mkdir($directory_temp, 0755);
  14.    }
  15. }
  16.  
  17. $file_last_modification = filemtime ($file);
  18. $gm_file_last_modification = gmdate ("D, d M Y H:i:s T", $file_last_modification);
  19.  
  20. //if ($_SERVER['HTTP_IF_MODIFIED_SINCE'] == $gm_file_last_modification) {
  21.  //header ("HTTP/1.0 304 Not Modified");
  22.  //header ('ETag: "' . md5 ($file . $file_last_modification) . '"');
  23.  //exit;
  24. //}
  25. (end (explode ('.', $file)) == 'css') ? header ('Content-type: text/css; charset: UTF-8') : header('Content-type: text/javascript;');
  26.  
  27. //header('Last-Modified: ' . $gm_file_last_modification);
  28. header("Expires: Mon, 26 Jul 2020 05:00:00 GMT");
  29. //header ('ETag: "' . md5 ($file . $file_last_modification) . '"');
  30.  
  31.  
  32.  
  33. if (substr_count ($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')) {
  34.  $filegz = 'gzipped/' . $file . '.gz';
  35.  
  36.  $makeNewGz = false;
  37.  if (file_exists ($filegz)) {
  38.    $gzip_last_modification = filemtime ($filegz);
  39.    if ($gzip_last_modification + 10 < $file_last_modification) {
  40.      $makeNewGz = true;
  41.    }
  42.  } else {
  43.    $makeNewGz = true;
  44.  }
  45. if ($makeNewGz === true) {
  46.    $handle = gzopen ($filegz, 'w9');
  47.    gzwrite ($handle, file_get_contents ($file));
  48.    gzclose ($handle);
  49.    chmod ($filegz, 0666);
  50. }  
  51.        
  52.       header('Accept-Ranges: bytes');
  53.       //header('Content-Length: '.filesize($filegz));
  54.       header('Vary: Accept-Encoding');
  55.       header('Content-Encoding: gzip');
  56.  
  57.    $lines = gzfile($filegz);
  58.    foreach ($lines as $line) {
  59.        echo $line;
  60.    }
  61.    
  62.    //echo readgzfile ($filegz);
  63.    exit;
  64.  
  65. }
  66. else
  67. {
  68. include($file);
  69. }
  70. ?>


Problem pojawia się pod wyszukiwarkami pod FireFoxem i tylko na niektórych serwerach.
A problem jest taki że gdy otwieram jakiś plik css lub js to zamiast się otworzyć, wyskakuje mi strona :



"
Błąd kodowania zawartości

Otwierana strona nie może zostać wyświetlona, ponieważ używa nieprawidłowych lub nieobsługiwanych metod kompresji.

Otwierana strona nie może zostać wyświetlona, ponieważ używa nieprawidłowych lub nieobsługiwanych metod kompresji.

* Prosimy poinformować właścicieli witryny o tym problemie.
"