nginx location 匹配規則

2021-07-12 05:39:45 字數 1024 閱讀 5192

1 普通匹配,遵循最長匹配規則,假設乙個請求匹配到了兩個普通規則,則選擇匹配長度大的那個

例如:

location /

location /test

2 精確匹配

location = /

location = /test

3 正則匹配

~ 區分大小寫的匹配

location ~ ^*.php$

~* 不區分大小寫的匹配

location ~* ^*.php$

^~ 普通字元匹配,如果請求匹配此規則,則其他規則忽略,只匹配該規則

location ^~ /test

4 @locationname 內部redirect匹配

location @locationname

匹配優先順序:

首先檢查是否有精確匹配規則,如果有,則處理精確匹配規則,假設發現精確匹配規則,停止搜尋其他匹配規則,返回當前匹配的規則

其次普通字元匹配,該項匹配請求,仍然需要檢查是否有正則或者更長匹配,如果有,返回正則匹配或者更長匹配

^~匹配被第三步處理,如果請求匹配此規則,停止其他規則匹配,返回此規則

正則匹配被最後執行,正則匹配只要被找到,停止解析其他規則,這個就要注意先後順序了

完整的例子:

請求uri例子:

/ -> 符合configuration a

/documents/document.html -> 符合configuration b

/images/1.gif -> 符合configuration c

/documents/1.jpg ->符合 configuration d

@location 例子

error_page 404 = @fetch;

location @fetch

nginx location匹配規則

location匹配命令 波浪線表示執行乙個正則匹配,區分大小寫 表示執行乙個正則匹配,不區分大小寫 表示普通字元匹配,不使用正規表示式,如果該選項匹配,只匹配該選項,不匹配別的選項,一般用來匹配目錄 進行普通字元精確匹配 定義乙個命名的 location,使用在內部定向時,例如 error pag...

nginx location匹配規則

location匹配命令 波浪線表示執行乙個正則匹配,區分大小寫 表示執行乙個正則匹配,不區分大小寫 表示普通字元匹配,如果該選項匹配,只匹配該選項,不匹配別的選項,一般用來匹配目錄 進行普通字元精確匹配 定義乙個命名的 location,使用在內部定向時,例如 error page,try fil...

nginx location匹配規則

location匹配命令 波浪線表示執行乙個正則匹配,區分大小寫 表示執行乙個正則匹配,不區分大小寫 表示普通字元匹配,如果該選項匹配,只匹配該選項,不匹配別的選項,一般用來匹配目錄 進行普通字元精確匹配 定義乙個命名的 location,使用在內部定向時,例如 error page,try fil...