MIDAV.RU

MIDAV.RU

Учусь делать сайты в свободное время .

Оптимизация загрузки сайта с помощью .htaccess

Просмотров: 2229Комментарии: 0
Сайтостроение

В этой статье я рассмотрю способы ускорения загрузки сайта при помощи настройки файла .htaccess сервера Apache . С помощью сервера мы можем настроить кеширование файлов на стророне браузера . Методом посылки заголовков header . А также настроить сервер , для сжатия файлов перед пересылкой . Что поможет уменьшить общий размер страницы . А значит загрузка нашего сайта ускорится .

Рассматривать будем на примере CMS Joomla 1.5.23 , с шаблоном rhuk milkyway . Сайт установлен на локальном сервере . В качестве сервера используется Денвер . Измерять результаты будем при помощи плагина YSlow для Firefox от компании Yahoo .

Итак приступим smile

Откроем в браузере тестовый сайт , я его назвал  joomla.test . Откроем YSlow , выберем тест Classic(V1) . Вот он результат :

YSlow Результаты теста до

Как видно по скриншоту результат для сайта неутешителен , всего 41 пункт и шкала F . Что не очень хорошо . По шкале , градация идет от A и ниже .

На второй вкладке можно посмотреть какие файлы загружаются с сайта . Как видим файлы не сжимаются и не заголовки expires браузеру не посылаются .

YSlow Результаты теста до

 YSlow Результаты теста до

При помощи .htaccess мы можем настроить сжатие файлов , и кеширование на стороне браузера . Итак пропишем в htaccess такие директивы :

<IfModule mod_deflate.c>
    # compress html, xml, css, js:
    AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/x-javascript text/javascript application/javascript application/json 
</IfModule>
<IfModule mod_expires.c>
    ExpiresActive on
    Header set cache-control: public
    <FilesMatch "\.(js|css|xml|gz)$">
        Header append Vary Accept-Encoding
    </FilesMatch>
    # Perhaps better to whitelist expires rules? Perhaps.
    ExpiresDefault                          "access plus 1 month"
    # cache.manifest needs re-reqeusts in FF 3.6 (thx Remy ~Introducing HTML5)
    ExpiresByType text/cache-manifest       "access plus 0 seconds"
    # your document html 
    #ExpiresByType text/html                "access plus 1 hour"
    # rss feed
    ExpiresByType application/rss+xml       "access plus 1 hour"
    # favicon (cannot be renamed)
    ExpiresByType image/vnd.microsoft.icon  "access plus 1 week" 
    ExpiresByType image/x-icon     "access plus 1 week" 
    # css and javascript
    ExpiresByType text/css                  "access plus 1 month"
    ExpiresByType text/javascript           "access plus 1 month"
    ExpiresByType application/javascript    "access plus 1 month"
    ExpiresByType application/x-javascript  "access plus 1 month"
</IfModule>

И вот какой результат нам это даст :

Как видно из скриншотов , рейтинг улучшился , и объем передаваемых данных уменьшился более чем в два раза . Вот так при помощи сервера Apache можно ускорить загрузку страниц сайта .

Оставьте комментарий!

grin LOL cheese smile wink smirk rolleyes confused surprised big surprise tongue laugh tongue rolleye tongue wink raspberry blank stare long face ohh grrr gulp oh oh downer red face sick shut eye hmmm mad angry zipper kiss shock cool smile cool smirk cool grin cool hmm cool mad cool cheese vampire snake excaim question


Используйте нормальные имена. Ваш комментарий будет опубликован после проверки.

     

  

Если вы уже зарегистрированы как комментатор или хотите зарегистрироваться, укажите пароль и свой действующий email. При регистрации на указанный адрес придет письмо со ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные, включая адрес сайта, ник, описание, контакты и т.д., а также подписку на новые комментарии.

(обязательно)