Jump to content
View in the app

A better way to browse. Learn more.

IPBMafia.ru - поддержка Invision Community, релизы, темы, плагины и приложения

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

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

Featured Replies

Posted

Собственно на сервере стоит 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>

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

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

 

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

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

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

 

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

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


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

Guest
This topic is now closed to further replies.

Последние посетители 0

  • No registered users viewing this page.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.