location和配置跟location的順序沒有太大關(guān)系。跟location表達(dá)式的類型有關(guān)。相同類型的表達(dá)式,字符串長(zhǎng)的會(huì)優(yōu)先匹配。
以下是按優(yōu)先級(jí)排列說明:
第一優(yōu)先級(jí):等號(hào)類型(=)的優(yōu)先級(jí)最高。一旦匹配成功,則不再查找其他匹配項(xiàng)。
第二優(yōu)先級(jí):^~類型表達(dá)式。一旦匹配成功,則不再查找其他匹配項(xiàng)。
第三優(yōu)先級(jí):正則表達(dá)式類型(~ ~*)的優(yōu)先級(jí)次之。如果有多個(gè)location的正則能匹配的話,則使用正則表達(dá)式最長(zhǎng)的那個(gè)。
第四優(yōu)先級(jí):常規(guī)字符串匹配類型。按前綴匹配。
示例
location / {}
前綴模式,匹配所有uri,最短匹配
所以,這個(gè)location為兜底location。即當(dāng)其他所有l(wèi)ocation都不匹配時(shí),命中這個(gè)location。
location = / {
[ 配置 A ]
}
location / {
[ 配置 B ]
}
location /documents/ {
[ 配置 C ]
}
location ^~ /images/ {
[ 配置 D ]
}
location ~* \.(gif|jpg|jpeg)$ {
[ 配置 E ]
}
uri:“/”
精確匹配:配置 A
uri:“/index.html”
兜底匹配:配置 B
uri:“/documents/document.html”
最長(zhǎng)location匹配:配置 C
uri:“/images/1.gif”
非正則匹配:配置 D
uri:“/documents/1.jpg”
正則匹配:配置 E