Пытаюсь активировать gzip сжатие на сайте.
Установил модули: [module=css_gzip] и [module=javascript_aggregator]
Выполнил все требования, вплоть до редактирования .htaccess добавив
### START JS GZIP ###
AddEncoding x-gzip .gz
ForceType text/javascript
RewriteCond %{HTTP_USER_AGENT} !".*Safari.*"
RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{REQUEST_FILENAME}.gz -f
RewriteRule ^(.*)\.js $1.js.gz [L,QSA]
### End JS GZIP ###
и
### START CSS GZIP ###
# Requires mod_mime to be enabled.
# Send any files ending in .gz with x-gzip encoding in the header.
AddEncoding gzip .gz
# Gzip compressed css files are of the type 'text/css'.
ForceType text/css
RewriteEngine on
# Serve gzip compressed css files
RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{REQUEST_FILENAME}\.gz -s
RewriteRule ^(.*)\.css $1\.css\.gz [L,QSA,T=text/css]
### End CSS GZIP ###
Но сжатие все равно не работает.
Задал вопрос своему хостеру, и получил вот такой ответ:
«На наших серверах работает связка nginx+apache. Через nginx отдаются статические файлы с расширениями: jpg,jpeg,gif,png,css,zip,tgz,gz,rar,bz2,doc,xls,exe,pdf,ppt,txt,tar,mid,midi,wav,bmp,rtf,js,swf,f4v,flv,avi,wmv,mp3,mp4
Это значит файлы не обрабатываются через apache и если есть какие-то директивы в файле .htaccess, то они тоже не подействуют, чтобы apache мог обработать данные файлы нужно давать ссылки на несуществующие файлы, в этом случае, запрос будет передаваться web серверу apache, соответсвенно можно будет использовать директивы .htaccess для обработки этих запросов.»
Долго пытался найти соответствующую информацию в web, google, на drupal.ru, на drupal.org
но ничего не подходит.
Я в этой теме "мягко" говоря только на чал разбираться, но я никогда не имел дело с такими "тонкими" настройками.
Прошу у вас помощи.
Что-то мне кажется, что все очень просто....
Спасибо!
Комментарии
вот и весь ответ
Да я в курсе, возможно, я плохо сформулировал вопрос.
Как мне реализовать это: "чтобы apache мог обработать данные файлы нужно давать ссылки на несуществующие файлы"?
1. Хакать ядро
2. Изврат с препроцессом
3. Менять хостинг
Да..., с моими знаниями легче поменять хостинг.
Готового рецепта я так понимаю нет?
Хостер еще дал такой совет
Переадресацию делаете через mod_rewrite
Как правильно прописать такое?
Пожалуйста, кто в курсе... это наверное, пару строк в htaccess эх ... надо пойти куда-нибудь на курсы...
А потом мне хостер сказал, что никак (
наверно поздно будет, но может кому пригодится.
возился долго и уже было хотел махнуть рукой, но ответ нашел.
Drupal + nginx + RU-CENTER (nic.ru) + css gzip + js aggregator, тариф 201 (хз чо там на 301-м): нужно было чтобы сжатие работало на все кроме картинок и иже подобных и осуществлялось через nginx, а сжатые модулями друпала и собранные в один файл стили и скрипты отдавались именно сжатыми (вода водой). Но nginx не хотел отдавать css&js сжатыми. пришлось в конфиге править ручками - не использовать nginx для css js. Для этого:
переводим в ручной режим сайт (!!!не хостинг!!!)
далее в папке своего юзера находим nginx.conf.manual и рядом site_name.vhost.conf, вот в последнем найти строчку вида
location ~* ^.+\.(jpg|jpeg|gif|png|ico|mp3|<strong>css</strong>|<strong>js</strong>........
и убрать сами понимаете что.
там же можно поставить и время хранения expires 7d; - на вкус
в результате можно получить быстрый и с оценкой под 100 (page speed) сайт на друпале