首页 > 解决方案 > NGINX,为特定文件类型禁用特定文件夹中的缓存

问题描述

我有 - 不幸的是 Windows - Nginx 服务器,用于静态内容(如产品照片等)。目前我有一个缓存的全局设置,但现在我需要稍微改变它。

我有一个文件夹,其路径如下所示:

E:\xampp\srv\project-files\projectX\files\users\user-hash\visualisator\views

正如您在路径中看到的那样,用户哈希变量发生了变化。在这个文件夹中,我有需要禁用缓存的 *.jpg 文件。

我已经尝试过这样的事情(位于其他(全局)位置设置之上):

location ~ /users/ {
   alias "E:/xampp/srv/project-files/projectX/files/users";
   expires -1;
   add_header 'Cache-Control' 'no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0';
 }

我一直希望它至少会禁用此文件夹中所有文件的缓存,甚至更进一步。但我从中得到的唯一结果是http 403.

我可以从文件夹中禁用缓存,users如果它可以工作,则进一步,但最好的解决方案是禁用整个路径的缓存(包括用户哈希变量)和特定文件类型(* .jpg)。

任何想法或建议如何实现这一目标?PS:NGinx 对我来说是新的,我已经花了大约 8 个小时来使用这项技术,如果这是个愚蠢的问题,很抱歉,但我无法弄清楚或在任何地方找到它。

先感谢您!

标签: nginxcaching

解决方案


location ~ .*files/projectX/files/users/.*jpg$ {
          expires -1;
          add_header 'Cache-Control' 'no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0';
        }

这可以解决问题。


推荐阅读