1. 程式人生 > >nginx location 語法

nginx location 語法

意思 當前 需要 bsp 如果 處理請求 僅供參考 參數 url

location 語法
location 有”定位”的意思, 根據Uri來進行不同的定位.
在虛擬主機的配置中,是必不可少的,location可以把網站的不同部分,定位到不同的處理方式上.
比如, 碰到.php, 如何調用PHP解釋器? --這時就需要location
location 的語法
location [=|~|~*|^~] patt {
}
中括號可以不寫任何參數,此時稱為一般匹配
也可以寫參數
因此,大類型可以分為3種
location = patt {} [精準匹配]
location patt{} [一般匹配]
location ~ patt{} [正則匹配]

如何發揮作用?:
首先看有沒有精準匹配,如果有,則停止匹配過程.

語法規則: location [=|~|~*|^~] /uri/ { … }
= 開頭表示精確匹配
^~ 開頭表示uri以某個常規字符串開頭,理解為匹配 url路徑即可。nginx不對url做編碼,因此請求為/static/20%/aa,可以被規則^~ /static/ /aa匹配到(註意是空格)。
~ 開頭表示區分大小寫的正則匹配
~* 開頭表示不區分大小寫的正則匹配
!~和!~*分別為區分大小寫不匹配及不區分大小寫不匹配 的正則
/ 通用匹配,任何請求都會匹配到。
多個location配置的情況下匹配順序為(參考資料而來,還未實際驗證,試試就知道了,不必拘泥,僅供參考):
首先匹配 =,其次匹配^~, 其次是按文件中順序的正則匹配,最後是交給 / 通用匹配。當有匹配成功時候,停止匹配,按當前匹配規則處理請求

nginx location 語法