nginx location匹配規則


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM