Nginx中Location從零開始配置的方法

基礎知識

location的匹配順序是“先匹配正則,在匹配普通”。

location的匹配順序其實是“先匹配普通,在匹配正則”。造成誤解的原因是:正則匹配會覆蓋普通匹配

nginx location 配置語法

??? 1.?location [ = | ~ | ~* | ^~ ] uri { … }

??? 2.?location @name { … }???

location 配置可以有兩種配置方法

1.前綴 + uri(字符串/正則表達式

2.@ + name

前綴含義

??? =? :精確匹配(必須全部相等)

??? ~? :大小寫敏感

??? ~* :忽略大小寫

??? ^~ :只需匹配uri部分

??? @? :內部服務跳轉

location 基礎知識

1.location 是在 server 塊中配置。

2.可以根據(jù)不同的 uri 使用不同的配置(location 中配置),來處理不同的請求。

3.location 是有順序的,會被第一個匹配的location 處理。

location 配置demo

1.=,精確匹配

??location?=?/?{ ???#規(guī)則 ??} ??#?則匹配到?`http://www.example.com/`?這種請求。

2.~,大小寫敏感

??location?~?/example/?{ ????#規(guī)則 ??} ??#請求示例 ??#http://www.example.com/example/?[成功] ??#http://www.example.com/example/?[失敗]

3.~*,大小寫忽略

?location?~*?/example/?{ ????#規(guī)則 ?} ?#?則會忽略?uri?部分的大小寫 ?#http://www.example.com/example/?[成功] ?#http://www.example.com/example/?[成功]

4.^~,只匹配以 uri 開頭

?location?^~?/img/?{ ???#規(guī)則 ?} ?#以?/img/?開頭的請求,都會匹配上 ?#http://www.example.com/img/a.jpg?[成功] ?#http://www.example.com/img/b.mp4?[成功]

5.@,nginx內部跳轉

?location?/img/?{ ??error_page?404?@img_err; ?} ? ?location?@img_err?{ ??#?規(guī)則 ?} ?#以?/img/?開頭的請求,如果鏈接的狀態(tài)為?404。則會匹配到?@img_err?這條規(guī)則上。

? 版權聲明
THE END
喜歡就支持一下吧
點贊7 分享