我的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