可能有2个nginx位置块具有相同的匹配标准?

例如,如果我想从caching定义块中分离出防止的热链接块,并将它们放在由main.conf包含的单独的.conf文件中,那么nginx是否只匹配第一个?

 location ~* \.(?:jpg|jpeg|gif|png|ico)$ { valid_referers none blocked somedomain.com; if ($invalid_referer) { return 403; } } ... location ~* \.(?:jpg|jpeg|gif|png|ico)$ { expires 1M; add_header Cache-Control "public"; } 

不,我不相信这是可能的,因为nginx处理configuration文件的方式。 处理请求时,nginx匹配一个单独的位置块。 因此,如果您有多个具有相同匹配条件的位置块,则只会使用第一个块的内容。 查看nginx阶段文档:

http://wiki.nginx.org/HttpCoreModule#location