location [=||*|^~] /uri/
中括號中為路由匹配符號,常見的有:
精確匹配1 =:精確匹配2^
~:精確字首匹配
3~:區分大小寫的正則匹配4~
*:不區分大小寫的正則匹配
5/uri:普通字首匹配
6/:通用匹配
精確匹配使用 = 表示,nginx進行路由匹配的時候,精確匹配具有最高的優先順序,請求一旦精確匹配成功nginx會停止搜尋其他到匹配項
配置例項
location = /test
精確字首匹配
正則匹配
# 配置2
location ~* /test_a
對於請求 /test_a/hello 來說會被匹配到 配置1 處理,/test_a/hello 則會被匹配給 配置2 處理
普通字首匹配
普通字首匹配前面沒有任何修飾符,直接在location後寫需要匹配的uri,它的優先順序次於正則匹配
配置例項
location /img
通用匹配
通用匹配使用乙個 / 表示,可以匹配所有請求,一般nginx配置檔案最後都會有乙個通用匹配規則,當其他匹配規則均失效時,請求會被路由給通用匹配規則處理;如果沒有配置通用匹配,並且其他所有匹配規則均失效時,nginx會返回 404 錯誤
配置例項
location /
引用乙個完整例子
nginx路由規則配置:
請求uri 匹配路由規則
以上是對nginx路由匹配規則的粗略總結和歸納。http:
//localhost/ 規則a
//localhost/login 規則b
//localhost/register 規則f
//localhost/static/a.html 規則c
//localhost/static/files/a.txt 規則x
//localhost/a.png 規則d
//localhost/a.png 規則e
//localhost/img/a.gif 規則d
//localhost/img/a.tiff 規則y
# 1、反向**靜態檔案
# 配置反向**
location /drink
# error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
error_page 500
502503
504/50x.html;
location =
/50x.html
}}
# 2、配置ssl網域名稱+反向**靜態檔案+**服務
# 配置反向** end
error_page 500
502503
504/50x.html;
location =
/50x.html
# 配置服務** start
location /api
# 配置服務** end
}}
# 3、配置負載
worker_processes 2
;events
stream
# 朝外提供服務的埠
server
}
nginx 路由匹配規則
語法規則 location uri 首先匹配 精確匹配 其次匹配 非正則 其次是按檔案中順序的正則匹配,最後是交給 通用匹配。當有匹配成功時候,停止匹配,按當前匹配規則處理請求。注意 精準匹配命中時,停止location 動作,直接走 精準匹配 一般匹配 含非正則 命中時,先收集所有的普通匹配,最後...
nginx匹配規則
nginx的location可以有以下幾個匹配 1.嚴格匹配這個查詢。如果找到,停止搜尋。2.匹配路徑的字首,如果找到,停止搜尋。3.為區分大小寫的正則匹配 4.為不區分大小寫匹配 波浪線表示執行乙個正則匹配,區分大小寫 表示執行乙個正則匹配,不區分大小寫 表示普通字元匹配,如果該選項匹配,只匹配該...
nginx匹配規則
模式 含義location uri 表示精確匹配,只有完全匹配上才能生效 location uri 開頭對url路徑進行字首匹配,並且在正則之前。location pattern 開頭表示區分大小寫的正則匹配 location pattern 開頭表示不區分大小寫的正則匹配 location uri...