Перейти к содержимому


Пользователь месяца
magnet magnet 1-й за Январь
Очков активности: 621 0 тем, 69 сообщений, 6 баллов репутации
Сайт: rbfxdirect.com
ТОП самых активных за этот месяц
  • Фотография OlgaGetman
    #1

    OlgaGetman
    Очков активности: 1117.5 Вне конкурса за определение пользователя месяца

  • Фотография Андрей WPMasterKZ
    #2

    Андрей WPMasterKZ (wpmaster.kz)
    Очков активности: 592.5 Вне конкурса за определение пользователя месяца

  • Фотография BLIK
    #3

    BLIK
    Очков активности: 585 0 тем, 39 сообщений, 10 баллов репутации

  • Фотография ShowPrint
    #4

    ShowPrint (ShowPrint.ru)
    Очков активности: 577.5 Вне конкурса за определение пользователя месяца

  • Фотография Ixman
    #5

    Ixman (o5cat.ru)
    Очков активности: 480 Вне конкурса за определение пользователя месяца

  • Фотография Mandarin
    #6

    Mandarin
    Очков активности: 232.5 0 тем, 31 сообщение, 5 баллов репутации

  • Фотография r0mZet
    #7

    r0mZet (rz-style.ru)
    Очков активности: 108 0 тем, 18 сообщений, 4 балла репутации

  • Фотография magnet
    #8

    magnet (rbfxdirect.com)
    Очков активности: 105 Вне конкурса за определение пользователя месяца

  • Фотография pozitron123
    #9

    pozitron123
    Очков активности: 54 4 темы, 24 сообщения, 1 балл репутации

  • Фотография player09
    #10

    player09
    Очков активности: 45 4 темы, 18 сообщений, 1 балл репутации

  • Показать весь ТОП 10

Новый Teasernet

Поддержите форум! =)
Апдейты
  • Яндекс ИКС: 25.12.2018
  • Яндекс выдача: 19.02.2019
Топ 5 участников по репутации


Как сделать кэширование на WP

#1 Thrash

Thrash
  • Пользователь PRO
  • 647 сообщений
  • Репутация: 55
0

Отправлено 10 November 2017 - 13:15

Всем привет!

Что-то не могу добиться кэширование на сайте на WP.

 

Картина в PageSpeed Tools:

Screenshot_1.png

 

И так со всеми картинками.

 

Что я сделал в .htaccess

 

Добавил след. строки:

<ifModule mod_headers.c>
	#кэшировать html и htm файлы на один день
	<FilesMatch "\.(html|htm)$">
		Header set Cache-Control "max-age=43200"
	</FilesMatch>
	#кэшировать css, javascript и текстовые файлы на одну неделю
	<FilesMatch "\.(js|css|txt)$">
		Header set Cache-Control "max-age=604800"
	</FilesMatch>
	#кэшировать флэш и изображения на месяц
	<FilesMatch "\.(flv|swf|ico|gif|jpg|jpeg|png)$">
		Header set Cache-Control "max-age=2592000"
	</FilesMatch>
	#отключить кэширование
	<FilesMatch "\.(pl|php|cgi|spl|scgi|fcgi)$">
		Header unset Cache-Control
	</FilesMatch>
</IfModule>
<ifModule mod_expires.c>
	ExpiresActive On
	#по умолчанию кеш в 5 секунд
	ExpiresDefault "access plus 5 seconds"
	#кэшировать флэш и изображения на месяц
	ExpiresByType image/x-icon "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"
	ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds"
	#кэшировать css, javascript и текстовые файлы на одну неделю
	ExpiresByType text/css "access plus 604800 seconds"
	ExpiresByType text/javascript "access plus 604800 seconds"
	ExpiresByType application/javascript "access plus 604800 seconds"
	ExpiresByType application/x-javascript "access plus 604800 seconds"
	#кэшировать html и htm файлы на один день
	ExpiresByType text/html "access plus 43200 seconds"
	#кэшировать xml файлы на десять минут
	ExpiresByType application/xhtml+xml "access plus 600 seconds"
</ifModule>

После всего этого картина в PageSpeed Tools никак не меняется. Такое чувство, что настройки не подхватываются из файла. Хотя у меня настроена склейка www и без www и всё работает.

 

Задачу с кэшированием не хочу решать плагинами, а именно серверными методами.

Подскажите, пожалуйста, может я чего-то не замечаю или не правильно что-то прописал.

 

Спасибо!


 

 

  • 0

#2 ShowPrint

ShowPrint
  • Пользователь PRO
  • 3190 сообщений
  • Репутация: 884

Отправлено 10 November 2017 - 13:32

@Thrash, htaccess обычно "жестко" кешируется браузером и Ctrl+F5 его не обновляет. Обычно надо принудительно чистить кеш браузера - чистили?


  • 0
MasterWEBS: третий дом - моё хобби и увлечение... Второй дом: работа - не меньше 12 часов в день...
Первый дом - под охраной: "Осторожно - злая жена!" (дрессировалась долго и надёжно) /*ссылку не просите - не дам!*/


#3 Ixman

Ixman
  • Пользователь PRO
  • 3101 сообщений
  • Репутация: 809

Отправлено 10 November 2017 - 14:16

@Thrash, сервер какой apache или nginx, или связка?


  • 0


#4 Thrash

Thrash
    Topic Starter
  • Пользователь PRO
  • 647 сообщений
  • Репутация: 55

Отправлено 10 November 2017 - 14:19

@Ixman, сервер свой со своим айпи. Windows+apache. 


  • 0

#5 Ixman

Ixman
  • Пользователь PRO
  • 3101 сообщений
  • Репутация: 809

Отправлено 10 November 2017 - 14:21

Ну если апач, то htaccess должен работать по любому


  • 0


#6 Thrash

Thrash
    Topic Starter
  • Пользователь PRO
  • 647 сообщений
  • Репутация: 55

Отправлено 10 November 2017 - 14:22

@ShowPrint, почистил и зашел с другого браузера. Результат то же. Такое чувство, что на уровне сервера что-то, что не даёт кэшировать на уровне сайта. 


  • 0

#7 ShowPrint

ShowPrint
  • Пользователь PRO
  • 3190 сообщений
  • Репутация: 884

Отправлено 10 November 2017 - 14:45

@Thrash, попробуй добавить public в директиве Cache-control:

<ifModule mod_headers.c>
	#кэшировать html и htm файлы на один день
	<FilesMatch "\.(html|htm)$">
		Header set Cache-Control "max-age=43200, public, must-revalidate"
	</FilesMatch>
	#кэшировать css, javascript и текстовые файлы на одну неделю
	<FilesMatch "\.(js|css|txt)$">
		Header set Cache-Control "max-age=604800, public, must-revalidate"
	</FilesMatch>
	#кэшировать флэш и изображения на месяц
	<FilesMatch "\.(flv|swf|ico|gif|jpg|jpeg|png)$">
		Header set Cache-Control "max-age=2592000, public"
	</FilesMatch>
	#отключить кэширование
	<FilesMatch "\.(pl|php|cgi|spl|scgi|fcgi)$">
		Header unset Cache-Control
	</FilesMatch>
</IfModule>

 

 

Директива заголовка Cache-Control объявляет "public" - это означает, что файл может кэшироваться публично

Может в этом моменте "собака порылась", по крайней мере у меня стоит и помню что в своё время была аналогичная проблема. Как точно решилась не помню, может быть и посредством добавления "public"  :huh:

 

PS. Для html, css, js я у себя добавил еще "must-revalidate", типа проверки наличия изменений.


  • 0
MasterWEBS: третий дом - моё хобби и увлечение... Второй дом: работа - не меньше 12 часов в день...
Первый дом - под охраной: "Осторожно - злая жена!" (дрессировалась долго и надёжно) /*ссылку не просите - не дам!*/


#8 BLIK

BLIK
  • Супермодератор
  • 4282 сообщений
  • Репутация: 981

Отправлено 10 November 2017 - 15:08

Так а в апаче, стоят эти модули

 

a2enmod headers
 
и 
 
a2enmod expires
 
 
Если нет установить
a2enmod headers
/etc/init.d/apache2 restart
a2enmod expires
/etc/init.d/apache2 restart

  • 2

Качественный хостинг   Тут может быть ваша ссылка.



#9 Thrash

Thrash
    Topic Starter
  • Пользователь PRO
  • 647 сообщений
  • Репутация: 55

Отправлено 11 November 2017 - 11:14

@BLIK, спасибо! Помогло!!! 


  • 0

robot

robot
  • Пользователь PRO
  • 2652 сообщений
  • Репутация: 85


Похожие темы

  Название темы Автор Статистика Последнее сообщение

Оформление форума – IPBSkins.ru