|
|
|
| Здравствуйте.
Нужно, чтобы сжимались js, css и html. Весь вывод происходит с помощью php.
Варианты:
1) Делать сжатие через буфер (с помощью php: ob_start();)
2) Делать сжатие с помощью .htaccess (AddOutputFilterByType DEFLATE )
Какой вариант более правильный?
А также прошу вас подсказать, каким образом организовать кэширование для файлов js, css, png, так чтобы эти файлы кэшировались в сжатом виде.
Заранее благодарю за ваши ответы. | |
|
|
|
|
|
|
|
для: infocean
(03.08.2011 в 15:09)
| | Если второй вариант работает, лучше воспользоваться им - побыстрее будет и надежнее. | |
|
|
|
|
|
|
|
для: cheops
(03.08.2011 в 20:03)
| | Спасибо за ответ.
Попробовал 2-ой вариант, не сработал :( (хостинг .masterhost).
Первый вариант работает без проблем для html, однако мне главное сжать js и css.
p.s. Поговорил с хостингом, 2-ой вариант точно отменяется.
p.s.2. Буду рад советам по php - компрессорам для сжатия js и css. | |
|
|
|
|
|
|
|
для: infocean
(03.08.2011 в 15:09)
| | Я лично у себя на сайтах делаю так:
<?
/* для сжатия страниц начало */
if ($XGzipYes!="OK") {
if (strpos(' ' . $_SERVER['HTTP_ACCEPT_ENCODING'], 'x-gzip') !== false) { $miniBB_gzipper_encoding = 'x-gzip'; }
if (strpos(' ' . $_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') !== false) { $miniBB_gzipper_encoding = 'gzip'; }
if (isset($miniBB_gzipper_encoding)) { ob_start(); }
function percent($a, $b) { $c = $b/$a*100; return $c; }
@session_start(); header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
}
/* для сжатия страниц конец */
?>
|
<html>
<body>
Далее контент:
</body>
</html>
<?
if (isset($miniBB_gzipper_encoding)) {
$miniBB_gzipper_in = ob_get_contents();
$miniBB_gzipper_inlenn = strlen($miniBB_gzipper_in);
$miniBB_gzipper_out = gzencode($miniBB_gzipper_in, 2);
$miniBB_gzipper_lenn = strlen($miniBB_gzipper_out);
$miniBB_gzipper_in_strlen = strlen($miniBB_gzipper_in);
$gzpercent = percent($miniBB_gzipper_in_strlen, $miniBB_gzipper_lenn);
$percent = round($gzpercent);
$miniBB_gzipper_in = str_replace('<!- GZipper_Stats ->', 'Original size: '.strlen($miniBB_gzipper_in).' GZipped size: '.$miniBB_gzipper_lenn.' Сompression: '.$percent.'%<hr>', $miniBB_gzipper_in);
$miniBB_gzipper_out = gzencode($miniBB_gzipper_in, 2);
ob_clean();
header('Content-Encoding: '.$miniBB_gzipper_encoding);
echo $miniBB_gzipper_out;
}
?>
|
| |
|
|
|