WEB лаборатория DLE » DataLife Engine » Хаки DLE » [DLE 9.x] Увеличение скорость загрузки сайта на DLE
Навигация
Популярное
    Статистика

    Материалов: 1789 [+0]
    Пользователей: 685 [+0]

    Всего онлайн : 2
    Пользователей: 0
    Гостей: 2

    Yandex Google
    Последние комментарии
    ...
    HI-tech:
    0

    [DLE 9.x] Увеличение скорость загрузки сайта на DLE

    Автор: Robot_DLElabкатегория: DataLife Engine » Хаки DLEдата: 19-04-2013, 19:21
    [DLE 9.x] Увеличение скорость загрузки сайта на DLE


    Править мы будем файл: .htaccess который у нас в корне Dle.
    Метод представлен: ПафНутиЙ
    Работоспособность на nginx не предусмотрено.
    Цитата из сайта автора:
    Все браузеры давно умеют кешировать статические данные (картинки, скрипты, css и т.д.), но для этого веб-сервер должен сообщить браузеру на сколько он должен кешировать эти данный с момента первого обращения к этим данным. Т.е. Если пользователь зашёл на сайт - загрузились к примеру 4 скрипта по 10кб - это 40кб, вроде бы не страшно, однако при каждом переходе по страницам сайта браузер будет загружать эти скрипты вновь и вновь, потому что думает, что скрипт обновляется при каждом обращении к нему. Поэтому логично "сказать" браузеру, что бы он проверял не обновился ли этот скрипт не при каждом обращении, а лишь раз в месяц или раз в год.


    Как раз для указания "времени жизни" закешированных данных, правильной обработки HTTP-заголовков браузерами и предназначен этот код:

    Собственно сам код:
    
    <IfModule mod_expires.c>
        ExpiresActive on
    
        ExpiresDefault "access plus 1 month"
    
        # cache.appcache needs re-requests in FF 3.6 (thanks Remy ~Introducing HTML5)
        ExpiresByType text/cache-manifest "access plus 0 seconds"
    
        # html
        ExpiresByType text/html "access plus 0 seconds"
    
        # XML
        ExpiresByType text/xml "access plus 0 seconds"
        ExpiresByType application/xml "access plus 0 seconds"
    
        # RSS
        ExpiresByType application/rss+xml "access plus 1 hour"
    
        # Favicon
        ExpiresByType image/x-icon "access plus 1 week"
    
        # Картинки
        ExpiresByType image/gif "access plus 1 month"
        ExpiresByType image/png "access plus 1 month"
        ExpiresByType image/jpeg "access plus 1 month"
        ExpiresByType image/jpg "access plus 1 month"
    
        # HTC файлы  (например css3pie)
        ExpiresByType text/x-component "access plus 1 month"
    
        # Нестандартные шрифты сайта
        ExpiresByType application/x-font-ttf "access plus 1 month"
        ExpiresByType font/opentype "access plus 1 month"
        ExpiresByType application/x-font-woff "access plus 1 month"
        ExpiresByType image/svg+xml "access plus 1 month"
        ExpiresByType application/vnd.ms-fontobject "access plus 1 month"
    
        # CSS и javascript
        ExpiresByType text/css "access plus 1 year"
        ExpiresByType application/javascript "access plus 1 year"
    
    </IfModule>
    
    # Cache-Control браузера 
    <ifModule mod_headers.c>
        # 30 дней
        <filesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|swf)$">
        Header set Cache-Control "max-age=2592000, public"
        </filesMatch>
        # 30 дней
        <filesMatch "\.(css|js)$">
        Header set Cache-Control "max-age=2592000, public"
        </filesMatch>
        # 2 дня
        <filesMatch "\.(xml|txt)$">
        Header set Cache-Control "max-age=172800, public, must-revalidate"
        </filesMatch>
        # 1 день
        <filesMatch "\.(html|htm|php)$">
        Header set Cache-Control "max-age=172800, private, must-revalidate"
        </filesMatch>
    </ifModule>
    
    <IfModule mod_setenvif.c>
        #Эта конструкция для отлбраузера
        #Запрет отдачи HTTP-заголовков Vary
        BrowserMatch "MSIE" force-no-vary
        BrowserMatch "Mozilla/4.[0-9]{2}" force-no-vary
    </IfModule>
    

    Представленный код - результат сбора данных с разных источников и оптимизации его под DLE. Для подключения его нужно вставить в самое начало файла .htaccess и обновить кеш в админке.
    Как видно код разбит на блоки-условия. Если какой то из используемых в коде модулей не включен - блок буде пропущен.
    Так же в коде прокомментированы сроки, на которые кешируются статические данные и представлен фикс для IE.

    Использовать рекомендацию по увеличению скорости загрузки или нет остается за пользователями. Вы всегда можете отключить данную настройку. И оптимизировать код как Вам угодно под ваши нужды если вы в Этом разбираетесь.



    Теги: dle, хак

    Другие новости по теме:


    Информация
    Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.