禁用特定目录中的图像的nginxcaching

我的networking服务器上有一个目录,其中包含我不希望被caching的图片。

Nginx是Apache的前身。 我在nginx.conf中启用了静态资源caching:

server { listen 80; server_name www.mydomain.com mydomain.com; location / { root /home/somedomain/public_html/site; proxy_pass http://backend; include /etc/nginx/proxy.conf; } location ~* \.(css|js)$ { root /home/somedomain/public_html/site; add_header Last-Modified: $date_gmt; expires 1y; access_log off; } location ~* \.(jpg|jpeg|gif|png|ico|bmp|swf)$ { root /home/somedomain/public_html/site; expires max; access_log off; } location ~ \.php { proxy_pass http://backend; include /etc/nginx/proxy.conf; } } 

我试图添加到最后:

 location /home/somedomain/public_html/site/dontcache/ \.png { root /home/somedomain/public_html/site/dontcache; expires off; } 

也试过expires -1; expires 1m; 但所有这似乎没有工作。

我知道这很简单,但我不明白为什么它不适合我。

 location ^~ /home/somedomain/public_html/site/dontcache/ { root /home/somedomain/public_html/site/dontcache; expires epoch; } 

这里描述了location指令的匹配顺序

尝试这个:

 location /home/somedomain/public_html/site/dontcache/ \.png { root /home/somedomain/public_html/site/dontcache; proxy_no_cache 1; } 

另外,看看这里: http : //sysoev.ru/nginx/docs/http/ngx_http_proxy_module.html#proxy_no_cache