Nginx location 配置語法html
1. location [ = | ~ | ~* | ^~ ] uri { ... } 2. location @name { ... }
location 配置能夠有兩種配置方法nginx
1.前綴 + uri(字符串/正則表達式) 2.@ + name
前綴含義正則表達式
= :精確匹配(必須所有相等) ~ :大小寫敏感 ~* :忽略大小寫 ^~ :只需匹配uri部分 @ :內部服務跳轉
Location 基礎知識shell
1.location 是在 server 塊中配置。
2.能夠根據不一樣的 URI 使用不一樣的配置(location 中配置),來處理不一樣的請求。
3.location 是有順序的,會被第一個匹配的location 處理。code
1.=
,精確匹配server
location = / { #規則 } # 則匹配到 `http://www.example.com/` 這種請求。
2.~
,大小寫敏感htm
location ~ /Example/ { #規則 } #請求示例 #http://www.example.com/Example/ [成功] #http://www.example.com/example/ [失敗]
3.~*
,大小寫忽略ip
location ~* /Example/ { #規則 } # 則會忽略 uri 部分的大小寫 #http://www.example.com/Example/ [成功] #http://www.example.com/example/ [成功]
4.^~
,只匹配以 uri 開頭資源
location ^~ /img/ { #規則 } #以 /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 { # 規則 } #以 /img/ 開頭的請求,若是連接的狀態爲 404。則會匹配到 @img_err 這條規則上。
Nginx 中的 location 並無想象中的很難懂,沒必要懼怕。多找資料看看,多嘗試。你就會有收穫。