Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

На сайте включено кеширование страниц + модуль gzip (что бы кеш весил меньше). Кеш должен держаться год, страниц там будет больше 5млн.

Кеширование уже мне сделали - но почему-то КЕШ сбрасывается постоянно. Движок отдает динамичный контент (надо один раз закешировать результат страницы и хранить его год и отдавать его поисковым ботам), люди же просто попадают на обычную страницу. Как это сделать - ниже я писал.

Нужно просто напаисать правила с нуля, и написать их правильно.

Потому что сейчас - КЕШ сбрасывается сам постоянно, он кеширует - через некоторое время результат уже другой (т.е. сбросил\перекешировался по новой - а это не допустимо), почему - не знаю.

Кешируются страницы такого вида и только:

http://domain.com/view/itemid=999?domain=site2.com%2F%3Fcom_content%3Den-id4104&ip=1.2.3.4.5

Где, http://domain.com - хост, для которого этот конфиг и собственно будет все кешироваться.

view/itemid=999, где 999 - динамичная переменная, это страницы разные с разным контентом.

?domain=www.site1.com%2F%3Fcom_content%3Den-id999999 - www.site1.com%2F%3Fcom_content%3Den-id999999 динамичная переменная (тоже может меняться) - разные значения = разные сайты и разные страницы.

&ip=1.2.3.4.5 - IP, динамичная переменная, меняется. Но - страницы одинаковые. Наример,

http://domain.com/view/itemid=12?domain=site5.com%2F%3Fcom_content%3Den-id4104&ip=1.2.3.4.5

и

http://domain.com/view/itemid=12?domain=site5.com%2F%3Fcom_content%3Den-id4104&ip=9.9.9.9

==> это одна и та же страница.

Пример ссылок:

http://domain.com/view/itemid=999?domain=www.site1.com%2F%3Fcom_content%3Den-id999999&ip=78.12.3.255

или

http://domain.com/view/itemid=12?domain=site5.com%2F%3Fcom_content%3Den-id4104&ip=1.2.3.4.5

или

http://domain.com/view/itemid=9?domain=www.site-example.com%2F%3Fcom_content%3Den-id123123&ip=78.12.3.255

Кешируется страницы и отдаются после, только по определенным параметрам. Если посетитель не подходит под параметры - ему отдается обычная страница (не из кеша).

Страница НЕ кешируется, если:

1. У посетителя http_referer один из тех, что в списке: /etc/nginx/vhosts/admin/referers (рефер Поисковой системы, т.е. - что юзер перешёл из поисковика);

Формат списка сейчас такой:

yandex\. 1;

google\.com 1;

2. В ссылке ******&ip=78.12.3.255 - этот IP не совпадает ни с каким из списка /etc/nginx/vhosts/admin/bot_ips

Формат списка там такой сейчас:

1.2.3.4.5 1;

78.0.0.12\12 1;

3. UserAgent пользователя не совпадает с одним, из

default 0;

~*Googlebot 1;

~*Slurp 1;

~*Yahoo 1;

~*Bing 1;

~*MSNBot 1;

~*Teoma 1;

~*Scooter 1;

~*ia_archiver 1;

~*Lycos 1;

~*YandexBot 1;

~*StackRambler 1;

~*Mail\.Ru 1;

~*Aport 1;

~*WebAlta 1;

~*Crawler 1;

~*Spider 1;

~*LOCALSAPE 1;

~*AhrefsBot 1;

}

---

Конфиг текущий (я убрал оттуда кеширование и т.п. - )

#user 'user' virtual host 'site.com' configuration file

server {

server_name site.com www.site.com;

root /var/www/user/data/www/site.com/web;

ssi on;

access_log /var/www/httpd-logs/site.com.access.log ;

error_log /var/www/httpd-logs/site.com.error.log notice;

include /etc/nginx/vhosts-includes/*.conf;

include /etc/nginx/vhosts-resources/admin/*.conf;

listen 93.1.1.15:80;

charset utf-8;

error_page 404 /index.php;

error_page 403 /index.php;

location / {

try_files $uri /index.php$is_args$args;

}

location ~ .php/ {

rewrite ^(.*.php)/ $1 last;

}

location ~ \.php {

try_files $uri /index.php =404;

include /etc/nginx/fastcgi_params;

fastcgi_param SSL_VERIFIED $ssl_client_verify;

fastcgi_param SSL_CLIENT_SERIAL $ssl_client_serial;

fastcgi_param SSL_CLIENT_CERT $ssl_client_cert;

fastcgi_param SSL_DN $ssl_client_s_dn;

fastcgi_intercept_errors on;

fastcgi_pass 127.0.0.1:9000;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

}

}

9 лет назад
Art-Media
Андрей 
37 летРоссия
19 лет в сервисе
Был
10 месяцев назад