location匹配指令
~ #波浪線表示執行一個正則匹配,區分大小寫
~* #表示執行一個正則匹配,不區分大小寫
~* #表示執行一個正則匹配,不區分大小寫
~* #表示執行一個正則匹配,不區分大小寫
^~ #^~表示普通字元匹配,如果該選項匹配,只匹配該選項,不匹配別的選項,一般用來匹配目錄
@ #"@" 定義一個命名的location,使用在內部定向時,例如 error_page, try_files
location 匹配的優先權(與location在設定檔中的順序無關)
= 精確比對會第一個被處理。如果發現精確匹配,nginx停止搜尋其他匹配。
普通字元匹配,正規表示式規則和長的區塊規則將被優先和查詢匹配,也就是說如果該項匹配還需去看有沒有正規表示式匹配和更長的匹配。
最後匹配理帶有"~"和"~*"的指令,如果找到相應的匹配,則nginx停止搜尋其他匹配;當沒有正則表達式或沒有正則表達式被匹配的情況下,那麼匹配程度最高的逐字匹配指令會被使用。
location 優先官方文件location = / { # 只匹配"/". [ configuration A ] } location / { # 匹配任何请求,因为所有请求都是以"/"开始 # 但是更长字符匹配或者正则表达式匹配会优先匹配 [ configuration B ] } location ^~ /images/ { # 匹配任何以 /images/ 开始的请求,并停止匹配 其它location [ configuration C ] } location ~* \.(gif|jpg|jpeg)$ { # 匹配以 gif, jpg, or jpeg结尾的请求. # 但是所有 /images/ 目录的请求将由 [Configuration C]处理. [ configuration D ] }