为nginx中的每个元素设置caching/过期时间?

configurationnetworking服务器(nginx)时,设置和过期时间并caching客户端浏览器请求的每个目录中的每个元素的情况并不常见?

我刚刚在nginx网站和servervault上find了一些到期时间的例子:

location ~* \.(?:ico|css|js|gif|jpe?g|png)$ { expires 30d; add_header Pragma public; add_header Cache-Control "public"; } location ~* \.(?:css|gif|jpe?g|png)$ { expires max; } 

如果我想通过设定每个元素的到期时间,我将如何写location线?

 location ~* \.(?:*)$ { expires 2d; add_header Pragma public; add_header Cache-Control "public" } 

当你想匹配一切,你可以使用:

 location / { expires 2d; add_header Pragma public; add_header Cache-Control "public" } 

但是,如果您有任何forms的dynamic内容,如用户login,随着时间的推移而更新的页面,最好在应用程序本身中设置caching头,然后让nginx根据caching头caching数据。 虽然这是一个非常大的话题,但在ServerFault中会详细介绍。