| 模式 | 含義 |
|---|---|
| location = /uri | = 表示精確匹配,只有完全匹配上才能生效 |
| location ^~ /uri | ^~ 開頭對URL路徑進行前綴匹配,並且在正則之前。 |
| location ~ pattern | 開頭表示區分大小寫的正則匹配 |
| location ~* pattern | 開頭表示不區分大小寫的正則匹配 |
| location /uri | 不帶任何修飾符,也表示前綴匹配,但是在正則匹配之后 |
| location / | 通用匹配,任何未匹配到其它location的請求都會匹配到,相當於switch中的default |
匹配優先級:
多個 location 配置的情況下匹配順序為(參考資料而來,還未實際驗證,試試就知道了,不必拘泥,僅供參考):
- 首先精確匹配
= - 其次前綴匹配
^~ - 其次是按文件中順序的正則匹配
- 然后匹配不帶任何修飾的前綴匹配。
- 最后是交給
/通用匹配 - 當有匹配成功時候,停止匹配,按當前匹配規則處理請求
- 注意:前綴匹配,如果有包含關系時,按最大匹配原則進行匹配。比如在前綴匹配:
location /dir01與location /dir01/dir02,如有請求http://localhost/dir01/dir02/file將最終匹配到location /dir01/dir02
