nginx配置location的index跳转问题

好久没更新了,直到这个虚拟主机提醒我收费,才想起来。。

对于 location = 的匹配,网上大部分都说是精确匹配,nginx匹配出后就会停止往后,但实际上还是有个需要注意的case。
比如下面的nginx配置:

1
2
3
4
5
6
7
location = / {
index index.html
}

location /index.html {

}

假如请求/,首先会匹配到第一个location,但是由于配置了index,所以nginx会做一次内部跳转,会以/index.html再请求一次,这时就会匹配到第二个location。

可以参看官网的说明:index