Подрядился по изменять проектик. Скинул себе копию (как полагается). Еле завел, но соль не в этом Там, на сколько я понял, стили и js скрипты подаются упакованные (для бровзеров, которые могут их распаковать). Почитал, полазил по инету, гружу все модули какие нашел. Но чет никак. Вот директивы .htaccess которые этим занимаются Код (Text): <FilesMatch "\.js.gz$"> ForceType text/javascript Header set Content-Encoding: gzip </FilesMatch> <FilesMatch "\.js$"> RewriteEngine On RewriteCond %{HTTP_USER_AGENT} !".*Safari.*" RewriteCond %{HTTP:Accept-Encoding} gzip RewriteCond %{REQUEST_FILENAME}.gz -f [b] #RewriteRule (.*)\.js$ $1\.js.gz [L][/b] ForceType text/javascript </FilesMatch> <FilesMatch "\.css.gz$"> ForceType text/css Header set Content-Encoding: gzip </FilesMatch> <FilesMatch "\.css$"> RewriteEngine On RewriteCond %{HTTP_USER_AGENT} !".*Safari.*" RewriteCond %{HTTP:Accept-Encoding} gzip RewriteCond %{REQUEST_FILENAME}.gz -f [b] #RewriteRule (.*)\.css$ $1\.css.gz [L][/b] ForceType text/css </FilesMatch> А именно, выделенные мной строчки. Если кто знает, подскажите что еще надо в конфе апача подправить, чтобы все взлетело как есть)
незнай насчет апача я когда nginx настраивал там можно было дополнять список файлов которые сжимаются (text\html по умолчанию) или тут другое?
Padaboo, может быть и то =) флоппик Если раскоментировать в .htaccess строчки RewriteRule (.*)\.css$ $1\.css.gz [L] и RewriteRule (.*)\.js$ $1\.js.gz [L] то запросы типа http://xxxx/css/style.css или http://xxxx/js/main.js Вызывают у апача 400 ошибку Bad Request Видимо, у меня апачу не хватает каких-то модулей или настроек
Код (Text): 127.0.0.1 - - [24/Jun/2010:21:58:59 +0400] "GET /css/style.css HTTP/1.1" 400 305 127.0.0.1 - - [24/Jun/2010:21:58:59 +0400] "GET /js/functions.js HTTP/1.1" 400 305 Апач не понимает запроса, когда у него просят, то что, благодаря .htaccess должен отдать упакованным.. гадать нечего)
Код (Text): [Fri Jun 25 00:41:12 2010] [error] an unknown filter was not added: DEFLATE Раскоментировал Код (Text): LoadModule deflate_module modules/mod_deflate.so Ошибок в логе больше не появляется, но ситуация не изменилась(
Код (Text): [Fri Jun 25 00:56:22 2010] [notice] Apache/2.2.14 (Win32) PHP/5.3.2 configured -- resuming normal operations [Fri Jun 25 00:56:22 2010] [notice] Server built: Sep 28 2009 22:41:08 [Fri Jun 25 00:56:22 2010] [notice] Parent: Created child process 1492 [Fri Jun 25 00:56:23 2010] [notice] Child 1492: Child process is running [Fri Jun 25 00:56:23 2010] [notice] Child 1492: Acquired the start mutex. [Fri Jun 25 00:56:23 2010] [notice] Child 1492: Starting 64 worker threads. [Fri Jun 25 00:56:23 2010] [notice] Child 1492: Starting thread to listen on port 80. Весь лог который получается. Они закоменчены, потому, что без них оно работает) Если раскоментировать, http://xxx/css/style.css вываливается в Bad Request Your browser sent a request that this server could not understand.
Код (Text): ErrorLog "logs/error.log" LogLevel warn флоппик, попробуйте куда-нить себе в .htaccess вставить строчки Код (Text): RewriteEngine On # compress all text & html: AddOutputFilterByType DEFLATE text/html text/plain text/xml # Or, compress certain file types by extension: <Files *.html> SetOutputFilter DEFLATE </Files> AddEncoding gzip .gz <FilesMatch "\.css.gz$"> ForceType text/css Header set Content-Encoding: gzip </FilesMatch> <FilesMatch "\.css$"> RewriteEngine On RewriteCond %{HTTP_USER_AGENT} !".*Safari.*" RewriteCond %{HTTP:Accept-Encoding} gzip RewriteCond %{REQUEST_FILENAME}.gz -f RewriteRule (.*)\.css$ $1\.css.gz [L] ForceType text/css </FilesMatch> и дернуть *.css, думаю, увидите тоже самое) (естественно, рядом с основным css файлом, надо положить *.css.gz
Код (Text): AddEncoding gzip .gz <FilesMatch .*\.css.gz$> ForceType text/css Header set Content-Encoding: gzip </FilesMatch> RewriteEngine On RewriteCond %{HTTP:Accept-encoding} gzip RewriteCond %{HTTP_USER_AGENT} !Safari RewriteCond %{HTTP_USER_AGENT} !Konqueror RewriteRule ^(.*)\.css$ $1\.css\.gz [NC,L] это сделать хотел?
Luge Да. Это прописано, но апач не выдает что надо. Т.е. когда запрашиваешь скрипт или стиль, который есть упакованный (.gz) вываливается 400 ошибка, типа апач не понял phpdude, спасибо. На досуге почитаю
ты хочешь прописывать в html style.css.gz и отдавать его как text/css или style.css и отдавать вместо него style.css.gz? Определись
в общем то вот для твоей задачи есть прекрасное решение, но то не апач, я хз, может тебе и оно подойдет http://sysoev.ru/nginx/docs/http/ngx_ht ... odule.html
Luge, оно вообще как работает (по крайней мере в моем случае). Запрос делается нормальный, типа файл.css, но хтакцессом навешано правило, если есть файл с именем файл.css.gz - апач отдает его. Вот мне это и надо реализовать. Сейчас у меня все работает, т.к. я поубивал *.gz. Но если их сделать, то апач, естественно ломанется их отдавать, но чет у него не получается и он выдает 400
хм, или я не помню, или rewrite в FilesMatch и Files как бы не работают… Посмотреть нуна А вообще в моём посте как раз надо только проверить ещё, что gz есть
Luge, если есть апач, и если не сложно, - могу прислать .htaccess. Он весит на работающем сайте. С какими костылями там серв поднят - одному богу известно, но оно там работает. Хотелось бы повторить )