基礎知識
location的符合順序是「先符合正規則,在符合普通」。
location的匹配順序其實是「先匹配普通,在匹配正則」。誤解的原因是:正規比對會覆寫一般符合
##nginx location 設定語法
1.location [ = | ~ | ~* | ^~ ] uri { ... }
location @name { ... }
location 設定可以有兩種配置方法
1.前綴uri(字串/正規表示式)= :精確比對(必須全部相等)
~ :大小寫敏感
~* :忽略大小寫
^~ :只需配對uri部分
@ :內部服務跳轉
2.可以根據不同的 uri 使用不同的配置(location 中配置),來處理不同的請求。
######3.location 是有順序的,會被第一個符合的location 處理。 #########location 設定demo############1.=,精確比對###location = / { #规则 } # 则匹配到 `http://www.example.com/` 这种请求。###2.~,大小寫敏感###
location ~ /example/ { #规则 } #请求示例 #http://www.example.com/example/ [成功] #http://www.example.com/example/ [失败]## #3.~*,大小寫忽略###
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從零開始設定的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!