模式 | 含義 |
---|---|
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