十三 Nginx Location詳解

2021-10-01 13:02:03 字數 1719 閱讀 6429

1、概念

通過配置location指控塊,來決定客戶端發出來的請求uri如何處理。

語法:

syntax: location [ = | ~ | ~* | ^~ ] uri  

location @name

default: —

context: server, location

修飾符:

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

~ :大小寫敏感(正規表示式)

~* :忽略大小寫(正規表示式),這裡要注意忽略大小寫的意思是請求的字元大小寫都可以, 但是不會進行大小轉換,請求的大小寫對應的檔案必須存在。

^~ :只需匹配uri部分

@ :內部服務跳轉

2、配置例項

2.1 精準匹配

=,精準匹配,一般匹配某個具體檔案

location = /index.html 

# 比如`http://www.***.com/index.html`這種請求。

還有這種寫法,精準匹配/,可以加快首頁訪問速度

location = /
2.2 大小寫敏感匹配

~,大小寫敏感(正規表示式)

location ~ /cluo/     #

請求示例

# [成功]

# [失敗]

2.3 大小寫不敏感匹配

~*,大小寫忽略(正規表示式)

location ~* /cluo.html  

# 則會忽略 uri 部分的大小寫

# [成功] 可以成功匹配,但是目錄中要cluo.html文 件

# [成功] 可以成功匹配,但是目錄中要cluo.html文 件

2.4 指定字尾匹配

匹配以gif、jpg、jpeg結尾的檔案

# [成功]2.5 忽略正則匹配

^~,只匹配以 uri 開頭,匹配成功以後,會停止搜尋後面的正規表示式匹配

location ^~ /img/  

#以 /img/ 開頭的請求,都會匹配上

# [成功]

# [成功]

3、location優先順序

例項:

location /  

#如果客戶端的請求是 ,匹配規則如下:

1、精準匹配,輸出 this is = /img/cluo.jpg

2、忽略正則匹配,輸出 this is ^~ /img/cluo.jpg

3、二、三優先順序相同,將按照從上而下順序進行匹配,輸出 this is ~* \.(jpg|png)

4、未找到優先匹配規則,最後匹配到/img/規則,輸出 this is /img/cluo.jpg

Nginx Location 指令基礎

nginx 中的 location 指令 是nginxhttpcoremodule中重要指令。location 指令比較簡單,但卻是配置 nginx 過程中不得不去了解的。location 指令,是用來為匹配的 uri 進行配置,uri 即語法中的 uri 可以是字串或正規表示式。但如果要使用正規表...

nginx location匹配規則

location匹配命令 波浪線表示執行乙個正則匹配,區分大小寫 表示執行乙個正則匹配,不區分大小寫 表示普通字元匹配,不使用正規表示式,如果該選項匹配,只匹配該選項,不匹配別的選項,一般用來匹配目錄 進行普通字元精確匹配 定義乙個命名的 location,使用在內部定向時,例如 error pag...

nginx location匹配規則

location匹配命令 波浪線表示執行乙個正則匹配,區分大小寫 表示執行乙個正則匹配,不區分大小寫 表示普通字元匹配,如果該選項匹配,只匹配該選項,不匹配別的選項,一般用來匹配目錄 進行普通字元精確匹配 定義乙個命名的 location,使用在內部定向時,例如 error page,try fil...