This commit is contained in:
colben 2024-11-29 18:40:38 +08:00
parent 2b85736f53
commit 4fccfcb947

View File

@ -31,6 +31,43 @@ categories: ["web"]
- $request_uri 包含请求参数的原始URI不包含主机名如"/foo/bar.php?arg=baz"
- $document_uri $uri 不带请求参数的当前URI不包含主机名如"/foo/bar.html"
## map
-语法
```
map 源变量 自定义变量 {
hostnames; # 可以使用通配来匹配源变量
default 0; # 如果都不匹配,自定义变量的值是 0
源变量匹配字符串1 自定义变量值1;
源变量匹配字符串2 自定义变量值2;
...
源变量匹配字符串n 自定义变量值n;
include filename; # 包含“源变量匹配字符串”和“自定义变量值”对应关系的文件
}
```
- 位置http
- 匹配优先级,由高到低
* 常量
* 固定后缀的通配,示例如下
```
*.aa.com 1;
*.bb.cn 2;
```
* 固定前缀的通配,示例如下
```
aa.bb.*
cc.*
```
* 正则,必须以“~”或“~\*”开头,优先匹配第一个,可以包含命名捕获和位置捕获,示例如下
```
~^ab.cd$ # “~”开头,大小写敏感
~*ab.cd$ # “~*”开头,大小写不敏感
~^ab(?<name>.*)cd$ # 包含命名捕获
~^ab(/.*) # 包含位置捕获
```
## rewrite
- rewrite {url正则} {replacement} {last|break|redirect|permanent};
@ -91,7 +128,7 @@ categories: ["web"]
- 语法
```
error_page code ... [=[response]] uri;
code 只能是 4xx 或 5xx
# code 只能是 4xx 或 5xx
# uri 可以包含变量,内部重定向请求,方法是 GET
```