2016-09-09 3 views
0

Я разработал несколько сайтов OctoberCMS (CMS, построенный на Laravel), но у меня есть огромная проблема в изображениях на сайтах. Сайты очень медленные из-за изображений на нем.Как автоматически сжимать изображения на моем сайте Laravel/OctoberCMS?

Так что старался минимизировать все файлы css и js, но все же очень медленно. Поэтому мне интересно, есть ли пакет, который я могу использовать, который может сжимать каждое изображение, загруженное на сайт?

Какое оптимальное решение? Я много искал, но ничего полезного не получал.

+0

Посмотрите на [Croppa] (https://github.com/BKWLD/croppa) –

ответ

0

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

<img src="{{ image.thumb(200, 200, {mode:'auto',quality:85}) }}" title="{{ image.title }}" alt="{{ image.description }}"> 

С помощью этой функции вы можете установить размер, качество сжатия и режима: автоматический режим, точный портрет, пейзаж, урожай. Значение по умолчанию: авто

Также не забудьте добавить истечение к изображению

# BEGIN Expire headers 
<IfModule mod_expires.c> 
ExpiresActive On 
ExpiresDefault "access plus 7200 seconds" 
ExpiresByType image/jpg "access plus 2592000 seconds" 
ExpiresByType image/jpeg "access plus 2592000 seconds" 
ExpiresByType image/png "access plus 2592000 seconds" 
ExpiresByType image/gif "access plus 2592000 seconds" 
AddType image/x-icon .ico 
ExpiresByType image/ico "access plus 2592000 seconds" 
ExpiresByType image/icon "access plus 2592000 seconds" 
ExpiresByType image/x-icon "access plus 2592000 seconds" 
ExpiresByType text/css "access plus 2592000 seconds" 
ExpiresByType text/javascript "access plus 2592000 seconds" 
ExpiresByType text/html "access plus 7200 seconds" 
ExpiresByType application/xhtml+xml "access plus 7200 seconds" 
ExpiresByType application/javascript A2592000 
ExpiresByType application/x-javascript "access plus 2592000 seconds" 
ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds" 
</IfModule> 
# END Expire headers 

Этот модуль контролирует настройку Expires HTTP заголовка и максимального возраста директиву заголовка Cache-Control HTTP в ответах сервера , Дата истечения срока действия может быть установлена ​​относительно времени, в течение которого был изменен исходный файл, или времени доступа клиента.

Эти HTTP-заголовки являются инструкцией клиенту относительно действительности и стойкости документа. Если кэшироваться, документ может быть извлечен из кеша, а не из источника, пока это время не пройдет. После этого копия кэша считается «истек» и недействительна, и из источника должна быть получена новая копия. Это ускоряет работу сайта, потому что браузеру не нужно снова и снова загружать те же изображения. более

информация: https://www.howtoforge.com/make-browsers-cache-static-files-with-mod_expires-on-apache2-debian-squeeze

+0

ситечения коды я должен поставить его на .htaccess права? –

+0

Это очень полезно. Любой другой совет? –

+0

Да, в .htaccess. Если вы найдете мой anwser полезным, не забудьте его исправить :) –

Смежные вопросы