Авторизация на сайте

 

Ускорения отдачи js/css файлов браузеру

Дата начала публикации: 02.07.2009
До этого мы уменьшили размеры файлов, отдаваемые браузеру, но осталась проблема - а если этих файлов много? Больше чем можно браузер не возьмет...Как быть тем, у кого подгружается 4-6->js/css файлов в header? Например:
http://www.mysite.com/javascript/prototype.js
http://www.mysite.com/javascript/builder.js
http://www.mysite.com/javascript/effects.js
http://www.mysite.com/javascript/dragdrop.js
http://www.mysite.com/javascript/slider.js
Стреляться? Ныть про неоптимизированность Joostina (да, есть и такие отморозки)? Есть, есть решение данной проблемы ("Ура" кричали женщины и в воздух лифчики чепчики бросали)

Мы приведем это к виду:
Цитировать
http://www.mysite.com/javascript/prototype.js,builder.js,effects.js,dragdrop.js,slider.js
Что потребуется:
1. .htaccess - кудаж без него
2. текстовый редактор
3. немного времени и здравого смысла (ну и интеллект не помешает)

1. качаем этот файл, переименовываем его в combine.php
2. открываем файл combine.php и находим строки:
$cachedir = dirname(__FILE__) . '/cache';
$cssdir = dirname(__FILE__) . '/css';
$jsdir = dirname(__FILE__) . '/javascript';

первая - путь к папке кэша, в данном случае нам менять ничего не надо
вторая и третья, соответственно - пути к папкам с js и css. Вот тут начинаются геморои и анальные трещины - joostina (как и Joomla) не имеет одной папки для всех js и другой папки для css. Придется думать головой:)
берем стандартный шаблон в joostinе, что мы видим? "одну звездочку, две звездочки...лучше, конечно, пять звездочек!"
видим папки с css и js
3. вот их родимый путь мы и внесем в эти переменные
было
$cssdir = dirname(__FILE__) . '/css';
стало
$cssdir = dirname(__FILE__) . '/templates/newline/css';
аналогично расправляемся с js (если он есть в шаблоне)
условно
$jsdir = dirname(__FILE__) . '/templates/newline/js';
для рефлексирующих можно добавлять css и js из сторонних расширений, соответственно, добавляя строки
$cssdir = dirname(__FILE__) . '/путь до папки с css расширения';
и
jsdir = dirname(__FILE__) . '/путь до папки с js расширения';
4. сохраняем
  должно быть примерно так:


$cachedir = dirname(__FILE__) . '/cache';
$cssdir = dirname(__FILE__) . '/templates/ваш шаблон/css';
$jsdir = dirname(__FILE__) . '/templates/ваш шаблон/js';

 либо 

$cachedir = dirname(__FILE__) . '/cache';

$cssdir = dirname(__FILE__) . '/components/ваш компонент/css';
$jsdir = dirname(__FILE__) . '/components/ваш компонент/js';

5. заливаем в корневую папку (которая /)
6. корректируем .htaccess
Код:
RewriteRule ^css/(.*\.css) /combine.php?type=css&files=$1
RewriteRule ^javascript/(.*\.js) /combine.php?type=javascript&files=$1

7. сохраняем.

Тэги: Тэги не указаны

Добавить комментарий


Защитный код
код с картинки (Обновить)