Как се добавя expiration date

TheCrazyBastard

Well-Known Member
Здравейте,

интересува ме как се добавя expiration date. Доколкото чета тук-там това "сервира" снимките и браузъра на потребителя ги запомня за определено време, примерно 2 часа, ако презареди страницата евентуално, да се зареди бързо.. или нещо такова.

Намерих два различни кода:
Единият е: # Expire images header
ExpiresActive On
ExpiresDefault A0
ExpiresByType image/gif A25 и т.н.
Другият: <FilesMatch "\.(ico|jpg|jpeg|png|gif|js|css|swf)$">
ExpiresDefault "access plus 2 hours"
</FilesMatch> като този май не работи при мен, не съм сигурен.

Проблема е, че искам само определени снимки на началната страница да се сервират като статични, а останалите да са си по-старому, вероятно се водят динамични (не съм запознат напълно с терминологията), тъй като те са на ротационен принцип и не се знае коя ще изникне..

Накратко: Трябва ми код за expiration date за началната страница, в който да опиша точно кои снимки, а не всички накуп.. Те може да са с различни окончание .gif . png , нещо работещо изписвайки целия път до конкретната снимка, предполагам.. Система WP

Нали това се иска, когато дадени инструменти ти казват "There are ххх static components without a far-future expiration date..."
 

r.stefanov

New Member
От: Как се добавя expiration date

Не съм много на ти с Apache, но можеш да опиташ това.

За точно определено изображение не знам как става. Поне не с Apache.

ExpiresActive On
ExpiresByType image/png"access plus 6 months"

И да запазиш изображенията, които искаш с този header под png формат.

Мисля, че може и да направиш отделна директория, където да сложиш в .htaccess настройките и те да са само за тази директория.

П.П. - ако имаш някоя кешираща добавка там може да има опция за expire tag. W3TC съм почти сигурен, че има.
 

s1yf0x

Well-Known Member
От: Как се добавя expiration date

Mod_expires на apache не прави разлика между картинки на началната страница и на вътрешните. Той вижда само типове файлове.
 

r.stefanov

New Member
От: Как се добавя expiration date

Примерно.

<directory /var/www/html/бля1/бля2>
ExpiresActive On
ExpiresByType image/png"access plus 6 months"
</directory>

С full path.
 

TheCrazyBastard

Well-Known Member
От: Как се добавя expiration date

Току що прочетох на едно място, че е възможно това с някаква папка, където да са ми тези снимки, които няма да променям, но не е описано точно как като код. Както казах, искам да избера точно определени.. примерно 80 да са статични, останалите 8 да са динамични. И може би наистина може да се сложи един htaccess в тази папка за всичко в нея, но дали няма да прави конфликт с този в главната директория.

One way is to create two separate asset folders: one for static resources and the other for resources that are frequently updated. Place all of the resources (such as images, scripts, etc.) that you would like to set far-future expirations for into the static folder and then add an .htaccess file to that folder that includes the expires headers. Place the rest of the resources that you do not want cached into the other folder . The folder with frequently updated resources should also contain an htaccess file, but should have a no-cache header explicitly stated in it (so the opposite of the other folder). This ensures the content won’t be cached. И това е.. Не мога да си измисля сам код.. :)
 

s1yf0x

Well-Known Member
От: Как се добавя expiration date

Раздели ги в две директории и пиши пътя както и разширинето на файловете и ще ти генерирам код
 

TheCrazyBastard

Well-Known Member
От: Как се добавя expiration date

Тези, които искам да са ми статични така или иначе са си в една папка /wp-content/uploads/icon-category-100x100 , да допълня само, че не използвам кеширащи добавки, ако има значение за кода. Снимките са .jpg
 

s1yf0x

Well-Known Member
От: Как се добавя expiration date

Само едно уточнение, всички картинки на сайта ти ли се намират в тази директория или само тези, които са на home-page. BTW можеш спокойно да кешираш всички картинки. Сигурен съм, че не променяш картинка към публикация в последствие.
 

TheCrazyBastard

Well-Known Member
От: Как се добавя expiration date

За началната страница повечето от снимките, които искам да оптимизирам се намират в една отделна папка. Останалите няколко се сменят и затова не зная дали е добре да бъдат кеширани. А темата ми оразмерява мисля сама като добавям снимки, а аз ги качвам по стандартния начин - чрез пускане във "файлове" и поради тази причина ги помества по дата, месец.. т.е. са пръснати и по-добре май също да не се кешират, че може да взема да променя нещо в последствие и да се угелпи* нещо.
 

s1yf0x

Well-Known Member
От: Как се добавя expiration date

OK, тогава най-лесното решение е да направиш .htaccess файл точно в тази директория, не извън нея или в коренната директория, а в директорията където са снимките. И там слагаш :

Код:
<IfModule mod_expires.c>
  ExpiresActive On
  ExpiresDefault "access plus 14 days"
  ExpiresByType image/jpeg "access plus 6 months"
  ExpiresByType image/gif "access plus 6 months"
  ExpiresByType image/png "access plus 6 months"
</IfModule>

Но се увери, че имаш mod_expires инсталиран на сървъра и стартиран.
 

s1yf0x

Well-Known Member
От: Как се добавя expiration date

Ще го изтестваш ли?
 

TheCrazyBastard

Well-Known Member
От: Как се добавя expiration date

Еее, браво.. салам алейкум :)

Този код наистина работи на apache с linux при включен mod_expires и може да се сложи в конкретната папка/директория със снимки, които искат да се кешират. Хубаво е това да се направи за папката /image на темите за wp, които ползвате, тъй като те визуализират всеки път един и същ стил, както и в желаната папка в uploads/папка, от която ще визуализирате статични снимки :)

Надявам се темата да бъде полезна за всички! Реп+

Може да я продължим, търсейки отговор и на въпроса: misconfigured ETags - Какво представляват тези тагове и как могат да бъдат оптимизирани?
 

s1yf0x

Well-Known Member
От: Как се добавя expiration date

Etag е съкратено от entry tag, използват се cache control и се подават с http response headers. Защо са misconfigured трябва да се види в конкретен пример. Аз си дърпам хедърите по следния начин:

PHP:
curl --dump-header headers.txt http://site.com/page.php
 

TheCrazyBastard

Well-Known Member
От: Как се добавя expiration date

ОО.. такива команди нищо не ми говорят. Аз по принцип работя с визуална среда и предпочитам ftp достъпа, за да манипулирам файловете чрез кодове..
Но намерих една интересна тема в 4 стъпки какво се прави. Не съм го тествал този метод! Може би идните дни ще експериментирам...

Ето я и нея със заглавие "Optimizing WordPress Loading Speed With header.php & .htaccess" или "Как да оптимизираме скоростта на зареждане на Wordpress посредством файловете header.php и .htaccess :) Лека, утре пак..
 

Горе