CSS Компресия

Реших да не подмина поредното откритие на цсс блогосферата - компресията на цсс. Евгени го спомена преди няколко дни, а докато писах коментара при него, ми дойде идеята да го реализирам чрез mod_rewrite на Апаха. Решението е просто, и изисква

1. файл .htaccess (директно в руут директорията на уеб сайта)
RewriteEngine on
RewriteRule (.*)\.css$ /css_gateway.php?file=$1

2. И css_gateway.php (пак там, или където пожелаете, само сменете името в .htaccess)

<?
	$fileName = $_GET['file'].'.css';
	if (!file_exists($fileName))
	{
		header("HTTP/1.0 404 Not Found");
		exit;
	}
	
	ob_start ("ob_gzhandler");
	header("Content-type: text/css; charset: UTF-8");
	header("Cache-Control: must-revalidate");
	$offset = 60 * 60 ;
	$ExpStr = "Expires: " .
	gmdate("D, d M Y H:i:s",
	time() + $offset) . " GMT";
	header($ExpStr);
	
	require_once $fileName;
?>

Изпробвах го върху един стандартен CSS файл, компресира от 9кб до 2.13кб.

7 Коментара по “CSS Компресия”

  1. HowBizarre:

    Жи’стоко туторче…

  2. Евгени:

    Да, доста по-ефикасно решение. Веднага ще се преорентирам към него.

  3. Мечтотъкачев:

    След няколко опита и грешки сдигнах до извода и доказателството че не само CSS може да се компресира. Ето това е картинката в реалност - http://soban.modusimages.com/cutenews/core.img/logo.jpg
    А тук е със почти същия php код, но прочита съответната картинка.
    http://soban.modusimages.com/cutenews/image.php

    Разликата е 3.41 KB(PHP) / 4.15 KB(JPEG Image)

  4. Боби:

    And still, ако имаш 18К ЦСС, колко ще е ХТМЛ-а? Ако искам него да компресирам - как? И колко ще е спеставянето, като се има предвид, че ЦСС файла се тегли (презюмъбли) само един път, а хтмл-а - всеки път :)

  5. Петьо:

    Въпроса е принципен. Инак компресията на html-а разисквана тема отдавна, гзипвай го като ти е мерак :) .

  6. Светослав Генов:

    Не се получава да еба ..

  7. Светослав Генов:

    Трябва обаче да се ползва import за да бачка …

Коментирай