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
<?
$file=$_GET['url'];
{
$directory_temp='gzipped';
foreach($file_arr as $directory)
{
$directory_temp .= '/'.$directory;
@mkdir($directory_temp, 0755
); }
}
$gm_file_last_modification = gmdate ("D, d M Y H:i:s T", $file_last_modification);
//if ($_SERVER['HTTP_IF_MODIFIED_SINCE'] == $gm_file_last_modification) {
//header ("HTTP/1.0 304 Not Modified");
//header ('ETag: "' . md5 ($file . $file_last_modification) . '"');
//exit;
//}
(end (explode ('.', $file)) == 'css') ?
header ('Content-type: text/css; charset: UTF-8') : header('Content-type: text/javascript;');
//header('Last-Modified: ' . $gm_file_last_modification);
header("Expires: Mon, 26 Jul 2020 05:00:00 GMT"); //header ('ETag: "' . md5 ($file . $file_last_modification) . '"');
if (substr_count ($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')) { $filegz = 'gzipped/' . $file . '.gz';
$makeNewGz = false;
$gzip_last_modification = filemtime ($filegz); if ($gzip_last_modification + 10 < $file_last_modification) {
$makeNewGz = true;
}
} else {
$makeNewGz = true;
}
if ($makeNewGz === true) {
$handle = gzopen ($filegz, 'w9');
gzclose ($handle);
chmod ($filegz, 0666);
}
header('Accept-Ranges: bytes'); //header('Content-Length: '.filesize($filegz));
header('Vary: Accept-Encoding'); header('Content-Encoding: gzip');
$lines = gzfile($filegz);
foreach ($lines as $line) {
}
//echo readgzfile ($filegz);
}
else
{
include($file);
}
?>
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.
"
Ten post edytował propage 20.02.2009, 16:26:44