问题
我正在尝试为网站内的不同部分设置不同的缓存到期时间。所有页面都应缓存两天,但博客部分(下的所有内容/blog/
)除外,该部分应仅缓存 1 小时。
我已经在我的 nginx 配置中设置了这两个location
-block,但是无论我做什么,location
当我访问 时,nginx 都会忽略第一个 -block /blog/
,而是提供 2 天的默认缓存到期时间。
Nginx 配置
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;
}
}