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

Реферальная программа Мегаплана

Партнерская программа Kredov

  • Закрытая тема Тема закрыта

Как включить кеширование в браузере в htaccess

#1 BLIK

BLIK
  • Супермодератор
  • 3 173 сообщений
  • Репутация: 631
0

Отправлено 07 Май 2014 - 02:04

Здравствуйте формучане.

Появилась одна не стандартная проблема, а именно включение кеша браузера в файле Htaccess.

Сразу оговорюсь кеширование не для Wordpress. А для обычного Html сайта. Весь гугл перекопал, какие только коды не ставил и рекомендации с Хабрахабр пробовал и другие.

 

Итог такой или сервер ошибку 500 выдает или просто никакой реакции нет...

 

Вот прикладываю скриншоты что именно нужно кешировать.

 

Может есть у кого решение данной проблемы, буду благодарен за помощь или совет где искать решение.

 

 

Прикрепленные изображения

  • 2014-05-07_025427.png
  • 2014-05-07_025458.png

 

 

  • 0


#2 Ixman

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

Отправлено 07 Май 2014 - 09:36

# кеширование в браузере на стороне пользователя
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access 7 days"
ExpiresByType application/javascript "access plus 1 year"
ExpiresByType text/javascript "access plus 1 year"
ExpiresByType text/css "access plus 1 year"
ExpiresByType text/html "access plus 7 day"
ExpiresByType text/x-javascript "access 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/x-icon "access 1 year"
ExpiresByType application/x-shockwave-flash "access 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=604800, public, must-revalidate"
</filesMatch>
# 1 день
<filesMatch "\.(html|htm|php)$">
Header set Cache-Control "max-age=604800, private, must-revalidate"
</filesMatch>

Вот весь работающий у меня код


Тут можно взять для CSS и JS


  • 1

#3 BLIK

BLIK
    Topic Starter
  • Супермодератор
  • 3 173 сообщений
  • Репутация: 631

Отправлено 07 Май 2014 - 15:52

Привет. Спасибо за код, но, он выдает ошибку 500, когда ставлю вторую половину кода(Cache-Control)  пробовал по разному :(


  • 0


#4 Ixman

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

Отправлено 07 Май 2014 - 17:38

Модуль возможно какой-то отсутствует на сервере


  • 0

#5 BLIK

BLIK
    Topic Starter
  • Супермодератор
  • 3 173 сообщений
  • Репутация: 631

Отправлено 07 Май 2014 - 17:41

Да я тоже думал по этому поводу что какой то модуль отсутствует.Но вот какой именно и как узнать((( Все остальные коды в htaccess работают((


  • 0


#6 Ixman

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

Отправлено 07 Май 2014 - 18:46

Они в этих строках <IfModule mod_expires.c> то есть mod_expires, mod_headers хотя в моём коде условие если он подключен, значит код внутри тега отработает.


  • 0

#7 BLIK

BLIK
    Topic Starter
  • Супермодератор
  • 3 173 сообщений
  • Репутация: 631

Отправлено 07 Май 2014 - 19:02

Как не пытаюсь отдает ошибку 500... И не хочет кешировать css и js(


  • 0


#8 Ixman

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

Отправлено 07 Май 2014 - 19:57

Мне кажется где-то синтаксическая ошибка в коде


  • 0

#9 BLIK

BLIK
    Topic Starter
  • Супермодератор
  • 3 173 сообщений
  • Репутация: 631

Отправлено 07 Май 2014 - 20:10

А где она может быть.. У меня сейчас вот как выглядит файл

<IfModule mod_gzip.c>
mod_gzip_on         Yes
mod_gzip_dechunk    Yes
mod_gzip_item_include file          \.(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler       ^cgi-script$
mod_gzip_item_include mime      ^text\.*
mod_gzip_item_include mime      ^application/x-javascript.*
mod_gzip_item_exclude mime      ^image\.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</IfModule>
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 2 days"
</IfModule>


Сообщение отредактировал BLIK: 07 Май 2014 - 20:20

  • 0


#10 Ixman

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

Отправлено 07 Май 2014 - 21:04

Ну у меня этот код ошибку не выдаёт. 


Лучше содержимое которое хотелось бы, но оно выдаёт 500 ошибку


  • 0

robot

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


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