Компресиране с htaccess

wood

Well-Known Member
При тест за скорост на сайта ми изписваше че трябва да компресирам js, css файлове...
Сложих това в хатчеса:

# compress text, html, javascript, css, xml:
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript

# Or, compress certain file types by extension:
<files *.html>
SetOutputFilter DEFLATE
</files>

нищо не стана, пробвах и с този файл:

FileETag None
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/jpg "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType text/css "access plus 1 year"
ExpiresByType text/javascript "access plus 1 week"
ExpiresByType application/javascript "access plus 1 week"
ExpiresByType application/x-javascript "access plus 1 week"
ExpiresByType image/x-icon "access plus 1 year"
</IfModule>

<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
</IfModule>

Пак нищо, като тествам с този тул: http://www.gidnetwork.com/tools/gzip-test.php
ми изписва че не се компресира...Къде греша.
 
От: Re: Компресиране с htaccess

Защо просто не питаш тях? Те най-добре знаят на кой сървър с какво разполагат.

Ами точно това сега направих...чакам отговор от тях.
 
От: Компресиране с htaccess

Бързо отговориха от Суперхостинг и ето отговора им...на някой друг може да свърши работа този отговор.

Здравейте,

За съжаление на сървърите за споделен хостинг не се поддържат модулите mod_deflate и mod_gzip. Може да се използва gzip компресия посредством php.

Активирането на gzip за .js и .css файлове, с помощта на php може да се осъществи по следния начин:

1. За .css файлове:

Преименувате .css файла на .css.php. В началото на всеки .css файл поставяте следния ред:

<?php if(extension_loaded('zlib')){ob_start('ob_gzhandler');} header("Content-type: text/css"); ?>

В края на файла поставяте:

<?php if(extension_loaded('zlib')){ob_end_flush();}?>

След което, във файла, в който се използва съответния .css файл, трябва да се уверите, че го извиквате с новото разширение .css.php, например:

<link rel="stylesheet" type="text/css" media="screen" href="/style.css.php"/>

2. За .js файлове компресията е по аналогичен начин:

Преименувате .js файла на .js.php. В началото на всеки .js файл поставяте следния ред:

<?php if(extension_loaded('zlib')){ob_start('ob_gzhandler');} header("Content-type: application/javascript"); ?>

В края на файла поставяте:

<?php if(extension_loaded('zlib')){ob_end_flush();}?>

След което, отново е необходимо .js файла да бъде извикан с новото разширение .js.php.

Полезна информация можете да намерите на следния адрес (The Paul Stamatiou method):

http://www.catswhocode.com/blog/3-ways-to-compress-css-files-using-php

Въпреки това, Ви препоръчваме да не компресирате .css и .js файловете поради следните причини:

- Компресията би имала ефект, ако файловете са наистина големи, например по - големи от 500 KB и потребителят, който достъпва сайта, е на много бавна връзка. В днешно време едва ли има потребител, който ползва връзка по-малка от 1 мбит.
- Компресията генерира по - голямо натоварване и в някои ситуации има голяма вероятност, компресията да създаде ефект на по-бавно зареждане на страницата.
 
От: Re: Компресиране с htaccess

Можеш да го направиш и малко по-хитро с mod_rewrite това. Само трябва да добавиш ob_start('ob_gzhandler'); в началото на файла.

Пробвах този вариант но нещо не сработи...предполагам че аз греша някъде.
 

Горе