Перейти к содержанию

Кэширование с помощью Expires, проблемы.


Рекомендуемые сообщения

Собственно на сервере стоит Apache и Nginx, который отдает статику. 

Мне посоветовали выставить Expires в настройках Nginx, и после этого у меня произошли 2 проблемы.

location ~* ^.+.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {
root $root_path/$subdomain;
...
expires 7d;
}

 

1. Перестал обновляться Онлайн Пользователей на главной странице внизу, и на странице Полный Список. То есть он обновляется только через F5.

2. При нажатии кнопки Выход, визуально Выход из аккаунта не происходит, тоже необходимо обновить страницу F5 чтобы увидеть, что я вышел.

 

Без Expires все работает как надо. Подскажите куда копать или как поднастроить?

 

Может это связано, а может и нет, вот настройки из файла htaccess в главной директории.

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .(jpeg|jpg|gif|png)$ /public/404.php [NC,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/rss+xml
</IfModule>

<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>

<FilesMatch ".(flv|gif|jpg|jpeg|png|ico|swf|js|css|pdf)$">
Header set Cache-Control "max-age=31536000"
</FilesMatch>

<ifModule mod_expires.c>
  ExpiresActive On
  ExpiresDefault "access plus 1 seconds"
  ExpiresByType text/html "access plus 1 seconds"
  ExpiresByType image/x-icon "access plus 31536000 seconds"
  ExpiresByType image/gif "access plus 31536000 seconds"
  ExpiresByType image/jpeg "access plus 31536000 seconds"
  ExpiresByType image/png "access plus 31536000 seconds"
  ExpiresByType text/css "access plus 604800 seconds"
  ExpiresByType text/javascript "access plus 216000 seconds"
  ExpiresByType application/x-javascript "access plus 216000 seconds"
</ifModule>

Ссылка на комментарий
Поделиться на другие сайты


Мне посоветовали выставить Expires в настройках Nginx

Оо

Зачем?

Ссылка на комментарий
Поделиться на другие сайты

Оо

Зачем?

ну как зачем, кэшировать, чтобы все открывалось в момент  :D

Ссылка на комментарий
Поделиться на другие сайты

Не совсем. Тут уже недопонимание.

По хорошему время кэширования на стороне КЛИЕНТА сервер должен отдавать заголовком самому браузеру. Что и на сколько определяется самим движком, например, как на моём проекте и сервере:

 

X-Drupal-Cache: MISS
Expires: Sun, 19 Nov 1978 05:00:00 GMT
Last-Modified: Sun, 05 Jan 2014 12:51:44 +0000
Cache-Control: no-cache, must-revalidate, post-check=0, pre-check=0

ПРЯМОЕ кэширование на стороне сервера обычному ФОРУМУ причинит скорее всего больше вреда, чем полезности.

Тем более ИПБ динамически объединяет и скрипты и КСС и также динамически может их менять. А ты хочешь их прокэшировать.

 

Такое кэширование, как хочешь сделать ты, больше всего предназначено для статических сайтов. Но не как не динамических.

И это только малая часть проблем, предстоящие на твоём пути.


Оптимизация это хорошо, но когда в меру.

Ссылка на комментарий
Поделиться на другие сайты

Спасибо, я все понял  :good:

Ссылка на комментарий
Поделиться на другие сайты

Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...