|
|
|
| запаковал js в gzip
положил в отдельную папку, туда же поместил htaccess с:
RewriteEngine on
RewriteRule ^(.*\.js\.gz)$ - [L]
RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteCond %{REQUEST_FILENAME}.gz -f
RewriteRule ^(.*)$ $1.gz
|
браузер поддерживает gzip, deflate
при загрузке страницы запакованные js файлы не распаковываются... джава не работает.
что не так? | |
|
|
|
|
|
|
|
для: moonfox
(05.12.2009 в 18:28)
| | Что вы вообще делаете и для чего? | |
|
|
|
|
|
|
|
для: neadekvat
(05.12.2009 в 19:46)
| | у меня js в сумме 200 кб, 2 файла.
хочу отдавать архивированные js.
везде где пишут про js/css в gzip везде указывают о необходимости вносить в htaccess правил реврайта и всякого другого.... зачем тогда они нужны если блин эти gzip надо распаковывать использую php???? | |
|
|
|
|
|
|
|
для: moonfox
(05.12.2009 в 20:17)
| | Создай файл .js и подключай его в страницу <script language="JavaScript" type="text/javascript" src="путь_до_файла.js"></script> | |
|
|
|
|
|
|
|
для: neadekvat
(05.12.2009 в 20:19)
| | )))
а я что делаю?
они слишком большие!
я хочу чтоб gz обрабатывало. | |
|
|
|
|
|
|
|
для: moonfox
(05.12.2009 в 20:27)
| | через реврайт обрабатывать - это конечно сильно.
а почему ты не делаешь реврайт на хтмл? запакуй его и реврайть
может я чего-то не понимаю, но ИМХО бред | |
|
|
|
|
|
|
|
для: STEVER
(05.12.2009 в 23:37)
| | вот здесь описано
http://www.vectora.ru/articles-and-tutorials/49-web-technologies/117-css-js-compression-without-performance-penalties
или вот :
делаешь так -
1) сжимаешь все большие скрипты gzip - кладешь их в папку , например js/
там же помещаешь несжатые варианты скриптов
типа prototype.js.gz, prototype.js
2) в htaccess в данной папке прописываешь, например
ExpiresActive On
ExpiresByType text/javascript "access plus 1 month"
RewriteEngine on
RewriteRule ^(.*\.js\.gz)$ - [L]
RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteCond %{REQUEST_FILENAME}.gz -f
RewriteRule ^(.*)$ $1.gz
Если браузер не понимает gzip - отдается несжатая версия, если понимает - то сжатая.
кеширование можно по вкусу.
|
мозила получает мои jquery.js.gz и не распаковывает. | |
|
|
|
|
|
|
|
для: moonfox
(05.12.2009 в 23:40)
| | никто не знает? | |
|
|
|
|
|
|
|
|
для: sim5
(06.12.2009 в 06:38)
| | это все хорошо
я использую YUI
но опять же, вопрос не в этом! а в отдаче сервером gzip файлов!
нашел вот это....
таки пакует на ходу и отдает js css
http://www.ewgenij.net/javascript-and-css-compressor.html | |
|
|
|
|
|
|
|
для: moonfox
(06.12.2009 в 15:53)
| | Посмотрим, хотя у меня есть нечто похожее на компрессор CSS.
Зачем сжимать их вторично gzip, если компрессор уже дает приличный результат? К тому же, эти файлы кешируются на клиенте, и повторной загрузки их не требуется, если только нет обновления в них. | |
|
|
|
|
|
|
|
для: sim5
(06.12.2009 в 16:03)
| | да всякие уроды типа webo.in матерятся....
файлы большие....
отдавайте файлы в архивах.... (типа packer (yui) +gzip) браузер какого-то фига не распаковывает gz.
нуда jquery-min 56 кб
после прохода этого скрипта 19 кб...единсвенный недостаток каждый раз распаковка файла..
насколько я вижу в firebug'е локально он берется не из кеша... а нахосте типа лежит пожатый.
как провкрить есть ли файл в кеше? чтоб не распаковывать его заново. | |
|
|
|
|
|
|
|
для: moonfox
(06.12.2009 в 16:19)
| | Я пользуюсь паковщиком, на который дал ссылку. Пакует на лету, пакует хорошо. eval() - ну не сказал бы, что клиент "задыхается" от работы. Файлы в имени содержат последнее время изменения файла, соответсвенно, если были изменения, то берется новый, иначе из кеша. Все работает нормально, кеширование в gzip (deflate) этих файлов не делаю. | |
|
|
|
|
|
|
|
для: moonfox
(05.12.2009 в 18:28)
| | >везде где пишут про js/css в gzip везде указывают о необходимости вносить
>в .htaccess правил реврайта
С ума сойти... А mod_deflate сейчас не в моде?
Apache: Сжатие страниц (в том числе и CSS и JS) "на лету" (mod_deflate)
Модуль mod_deflate
Модуль Apache - mod_deflate | |
|
|
|
|
|
|
|
для: Zend72
(06.12.2009 в 17:12)
| | откуда у меня доступ к httpd.conf на виртуальном хостинге?
что писать альтернативного в htaccess, хз... | |
|
|
|
|
|
|
|
для: moonfox
(06.12.2009 в 18:10)
| | >откуда у меня доступ к httpd.conf на виртуальном хостинге?
>что писать альтернативного в htaccess, хз...
На виртуальном хостинге у вас вообще должен быть полный доступ ко всей системе. Это на бесплатном хостинге масса ограничений...
Что касается .htaccess:
И раз:
<FilesMatch "\\.(js|css|html|htm|php|xml)$">
SetOutputFilter DEFLATE
</FilesMatch>
|
И два:
# Method 1: Only compress specified content type
<Location />
<IfModule mod_deflate.c>
# compress content with type html, text, and css
AddOutputFilterByType DEFLATE text/html text/plain text/css
<IfModule mod_headers.c>
# properly handle requests coming from behind proxies
Header append Vary User-Agent
</IfModule>
</IfModule>
</Location>
# Method 2: Compress all content, manually excluding specified file types
<IfModule mod_deflate.c>
# place filter 'DEFLATE' on all outgoing content
SetOutputFilter DEFLATE
# exclude uncompressible content via file type
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png|rar|zip)$ no-gzip
<IfModule mod_headers.c>
# properly handle requests coming from behind proxies
Header append Vary User-Agent
</IfModule>
</IfModule>
# deflate.log, log compression ratio on each request
<IfModule mod_deflate.c>
DeflateFilterNote Input instream
DeflateFilterNote Output outstream
DeflateFilterNote Ratio ratio
LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%)' deflate
CustomLog logs/deflate.log deflate
</IfModule>
# Properly handle old browsers that do not support compression
<IfModule mod_deflate.c>
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
</IfModule>
|
И три:
# Method 2: Compress all content, manually excluding specified file types
<IfModule mod_deflate.c>
# place filter 'DEFLATE' on all outgoing content
SetOutputFilter DEFLATE
# exclude uncompressible content via file type
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png|rar|zip)$ no-gzip
<IfModule mod_headers.c>
# properly handle requests coming from behind proxies
Header append Vary User-Agent
</IfModule>
</IfModule>
# deflate.log, log compression ratio on each request
<IfModule mod_deflate.c>
DeflateFilterNote Input instream
DeflateFilterNote Output outstream
DeflateFilterNote Ratio ratio
LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%)' deflate
CustomLog logs/deflate.log deflate
</IfModule>
# Properly handle old browsers that do not support compression
<IfModule mod_deflate.c>
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
</IfModule>
|
Это только несколько примеров из выдачи поисковой системы :-) | |
|
|
|
|
|
|
|
для: Zend72
(07.12.2009 в 16:35)
| | Полный, это vds, иначе совсем не обязательно, что вам все позволено. | |
|
|
|