Я пытаюсь установить разное время истечения срока действия кеша для разных разделов своего веб-сайта. Все страницы должны храниться в кеше на два дня, за исключением раздела блога (все, что находится под /blog/
), который должен оставаться в кеше только 1 час.
Я установил этих двух location
-blocks в моей конфигурации nginx, но что бы я ни делал, nginx игнорирует первый location
-блокировать при доступе к /blog/
, вместо этого обслуживает срок действия кеша по умолчанию, равный 2 дням.
location /blog/ {
expires 1h;
add_header Cache-Control "public";
try_files $uri $uri/ /index.php?$args;
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
location / {
expires 2d;
add_header Cache-Control "public";
try_files $uri $uri/ /index.php?$args;
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}