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

首頁 > 網(wǎng)站 > Nginx > 正文

Nginx服務器中的location配置詳解

2024-08-30 12:26:30
字體:
供稿:網(wǎng)友

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

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

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

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

演示實例

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

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

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

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

關于 location modifier

1. =

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

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

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

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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 潢川县| 泰宁县| 渝北区| 中方县| 理塘县| 布拖县| 承德市| 牟定县| 扬州市| 遂溪县| 绥宁县| 漳平市| 潼关县| 东辽县| 鞍山市| 铁岭市| 广平县| 长武县| 龙州县| 河源市| 南丰县| 澄江县| 玉门市| 金乡县| 闽清县| 正定县| 安远县| 大关县| 加查县| 紫云| 七台河市| 唐河县| 灵宝市| 天镇县| 石狮市| 永丰县| 城固县| 南华县| 镇原县| 盐山县| 读书|