基礎知識
location的匹配順序是“先匹配正則,在匹配普通”。
location的匹配順序其實是“先匹配普通,在匹配正則”。造成誤解的原因是:正則匹配會覆蓋普通匹配
nginx location 配置語法
??? 1.?location [ = | ~ | ~* | ^~ ] uri { … }
??? 2.?location @name { … }???
location 配置可以有兩種配置方法
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