nginx 反向**,路徑對映的過程是什麼?如何配置路徑對映規則?2.1 匹配規則:
location 路徑正則匹配:
符號說明
~
正則匹配,區分大小寫
~*
正則匹配,不區分大小寫
^~
普通字元匹配,如果該選項匹配,則,只匹配改選項,不再向下匹配其他選項
=
普通字元匹配,精確匹配
@
定義乙個命名的 location,用於內部定向,例如 error_page,try_files
2.2 匹配優先順序:
路徑匹配,優先順序:(跟 location 的書寫順序關係不大)
精確匹配:
=
字首的指令嚴格匹配這個查詢。
如果找到,停止搜尋。
普通字元匹配:
所有剩下的常規字串,最長的匹配。
如果這個匹配使用^〜
字首,搜尋停止。
正則匹配:
正規表示式,在配置檔案中定義的順序,匹配到乙個結果,搜尋停止;
預設匹配:
如果第3條規則產生匹配的話,結果被使用。
否則,如同從第2條規則被使用。
通過乙個例項,簡單說明一下匹配優先順序:
按照上面的location寫法,以下的匹配示例成立:
/
-> config a:
精確完全匹配,即使/index.html也匹配不了
/downloads/download.html
-> config b:
匹配b以後,往下沒有任何匹配,採用b
/images/1.gif
-> configuration d:
匹配到f,往下匹配到d,停止往下
/images/abc/def
-> config d:
最長匹配到g,往下匹配d,停止往下你可以看到 任何以/images/開頭的都會匹配到d並停止,fg寫在這裡是沒有任何意義的,h是永遠輪不到的,這裡只是為了說明匹配順序
/documents/document.html
-> config c:
匹配到c,往下沒有任何匹配,採用c
匹配到c,往下正則匹配到e
最長匹配到c,往下正則順序匹配到cc,不會往下到e
Nginx配置基礎 location
location表示式型別 表示執行乙個正則匹配,區分大小寫 表示執行乙個正則匹配,不區分大小寫 表示普通字元匹配。使用字首匹配。如果匹配成功,則不再匹配其他location。進行普通字元精確匹配。也就是完全匹配。常規字串匹配。按字首匹配。它定義乙個命名的 location,使用在內部定向時,例如 ...
nginx配置location總結
上 多的不說了,配了很多,終於起效了。對nginx 來說,實現的方法很簡單,只要在location段中,使用 expires 就可以了 格式expires 30s 表示把資料快取30秒 expires 30m 表示把資料快取30分 expires 10h 表示把資料快取10小時 expires 1d...
nginx的location配置詳解
語法規則 location uri 開頭表示精確匹配 開頭表示uri以某個常規字串開頭,理解為匹配 url路徑即可。nginx不對url做編碼,因此請求為 static 20 aa,可以被規則 static aa匹配到 注意是空格 開頭表示區分大小寫的正則匹配 開頭表示不區分大小寫的正則匹配 和 分...