Не нравятся результаты поиска? Попробуйте другой поиск!

Как сжать HTML страницы?


     10.03.2016    Общие вопросы по вёрстке, Шаблоны (TPL), Хаки    591

вопрос
Ребят подскажите как сжать HTML страницу по средством .htaccess или другими методами..

Пробывал в .htaccess добавить такие приказы:


<ifModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/css text/javascript application/javascript application/x-javascript
</ifModule>

<IfModule mod_deflate.c>
AddEncoding gzip .gz
AddOutputFilterByType DEFLATE image/x-icon
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE application/rss+xml
BrowserMatch "MSIE [456]" no_gzip dont-vary
BrowserMatch "SV1;" !no_gzip !dont-vary
BrowserMatch "Opera" !no_gzip !dont-vary
BrowserMatch "Firefox/[0-3]\." gzip-only-text/html
BrowserMatch "Firefox/3\.[1-9]" !gzip-only-text/html
BrowserMatch "Chrome/2" gzip-only-text/html
BrowserMatch "Safari" gzip-only-text/html
BrowserMatch "Konqueror" gzip-only-text/html
</IfModule>

<IfModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text\.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image\.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</IfModule>

BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html


Очистил кэш, перезагрузил главную страницу, в браузере "просмотреть код", вижу что код не изменился... кто подскажет как это сделать правильно ?

Ответа пока нет


Комментарии пользователей (3)

nowheremany
192

1659 | 1292

nowheremany - 10 марта 2016 15:11 - Эксперт

Он и не должен меняться.

Сжатие страницы - работает между сайтом и браузером. После того как браузер получал сжатые данные, он их распаковывает и генерит страницу для показа пользователю, в исходной странице браузера можно смотреть распакованный код, а не набор символов как вы хотите.

Благодарность принимаю тут Связь

over
57 | 3

over - 10 марта 2016 15:27 - Юзер

Так мне нужно чтоб на выходе браузер отдавал сжатую версию кода, тобишь без пробелов, и в одну строку

пробывал в index.php заменить @ob_start(); на это:

function sanitize_output($buffer) {

    $search = array(
        '/\>[^\S ]+/s',  // strip whitespaces after tags, except space
        '/[^\S ]+\</s',  // strip whitespaces before tags, except space
        '/(\s)+/s'       // shorten multiple whitespace sequences
    );

    $replace = array(
        '>',
        '<',
        '\\1'
    );

    $buffer = preg_replace($search, $replace, $buffer);

    return $buffer;
}

@ob_start("sanitize_output");


все равно ничего не выходит (( DLE 10.5

nowheremany
192

1659 | 1292

nowheremany - 10 марта 2016 17:07 - Эксперт

Таки с какого он должен заменить какието данные? сжатие имеется ввиду для браузера, а не для самого HTML кода. То что вы делаете - работать не будет. Максимум что можно сделать - это убрать символ табуляции и перевода каретки, и в этом же случае могут не работать некоторые JS, если же убирать пробелы - накроется верстка

Благодарность принимаю тут Связь

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы