語法規則: location [=|~|~*|^~] /uri/ { … }
nginx
=
開頭表示精確匹配ide
^~
開頭表示uri以某個常規字符串開頭,理解爲匹配 url路徑便可。nginx不對url作編碼,所以請求爲/static/20%/aa,能夠被規則^~ /static/ /aa匹配到(注意是空格)。編碼
~
開頭表示區分大小寫的正則匹配url
~*
開頭表示不區分大小寫的正則匹配spa
!~
和!~*
分別爲區分大小寫不匹配及不區分大小寫不匹配 的正則code
/
通用匹配,任何請求都會匹配到。orm
多個location配置的狀況下匹配順序爲(參考資料而來,還未實際驗證,試試就知道了,沒必要拘泥,僅供參考):ip
首先匹配 =,其次匹配^~, 其次是按文件中順序的正則匹配,最後是交給 / 通用匹配。當有匹配成功時候,中止匹配,按當前匹配規則處理請求。ci
本文出自http://outofmemory.cn/code-snippet/742/nginx-location-configuration-xiangxi-explain字符串