国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > Nginx > 正文

Nginx服務器中的location配置詳解

2024-08-30 12:23:11
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了Nginx服務器中的location配置詳解,包括location的匹配順序等基本概念,需要的朋友可以參考下

語法
location  [=|~|~*|^~] /uri/  {...}

規則
= : 表示精確的URI匹配(有興趣的同學可以看一下url和uri的區別)
~: 表示區分大小寫的正則匹配
~*:表示不區分大小寫的正則匹配
!~ && !~*:表示區分大小寫不匹配的正則和不區分大小寫的不匹配的正則
/:通用匹配,任何請求都會匹配到

location匹配目標
location匹配測試只使用請求URI的部分,而不使用參數部分。(原因:參數的寫法太多,無法精確匹配)

location匹配順序
多個location配置的前提下,location的匹配順序(未驗證,嘿嘿,google上搜的)
1.首先匹配=
2.其次匹配^~
3.再其次按照配置文件的順序進行正則匹配、
4.最后是交給/進行通用匹配
注意:
當有匹配成功時,立刻停止匹配,按照當前匹配規則處理請求

演示實例

nginx 配置文件,自下到上分為三種層次分明的結構:
 |    http block        the protocol level
 |    server block        the server level
 V    location block        the requested URI

Nginx 允許用戶定義 Location block ,并指定一個匹配模式(pattern)匹配特定的 URI。除了簡單的字符串(比如文件系統路徑),還允許使用更為復雜的匹配模式(pattern)。
Location block 的基本語法形式是:

  location [=|~|~*|^~|@] pattern { ... }

[=|~|~*|^~|@] 被稱作 location modifier ,這會定義 Nginx 如何去匹配其后的 pattern ,以及該 pattern 的最基本的屬性(簡單字符串或正則表達式)。

關于 location modifier

1. =

這會完全匹配指定的 pattern ,且這里的 pattern 被限制成簡單的字符串,也就是說這里不能使用正則表達式。
Example:

server {  server_name jb51.net;  location = /abcd {  […]  }}

匹配情況:
    http://jb51.net/abcd        # 正好完全匹配
    http://jb51.net/ABCD        # 如果運行 Nginx server 的系統本身對大小寫不敏感,比如 Windows ,那么也匹配
    http://jb51.net/abcd?param1?m2    # 忽略查詢串參數(query string arguments),這里就是 /abcd 后面的 ?param1?m2
    http://jb51.net/abcd/    # 不匹配,因為末尾存在反斜杠(trailing slash),Nginx 不認為這種情況是完全匹配
    http://jb51.net/abcde    # 不匹配,因為不是完全匹配

2. (None)
可以不寫 location modifier ,Nginx 仍然能去匹配 pattern 。這種情況下,匹配那些以指定的 patern 開頭的 URI,注意這里的 URI 只能是普通字符串,不能使用正則表達式。
Example:

server {  server_name website.com;  location /abcd {  […]  }}

匹配情況:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 儋州市| 泊头市| 宝坻区| 本溪| 保靖县| 台江县| 甘南县| 四子王旗| 汕尾市| 洛川县| 昌图县| 房山区| 酉阳| 河池市| 陇南市| 奎屯市| 井陉县| 浪卡子县| 根河市| 绥德县| 青岛市| 武定县| 合肥市| 宁海县| 科尔| 明星| 罗田县| 电白县| 天气| 永仁县| 洪湖市| 桑植县| 平湖市| 手游| 当雄县| 平潭县| 米脂县| 青铜峡市| 临湘市| 读书| 河曲县|