例如,如果我想将防止热链接块与缓存定义块分离,并将它们放在单独的.conf
文件中,以便稍后由 main.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";
}
答案1
不,我不认为这可行,因为 nginx 处理配置文件的方式不同。处理请求时,nginx 会匹配单个位置块。因此,如果您有多个具有相同匹配条件的位置块,则只会使用第一个块的内容。查看 nginx 阶段文档: