Niginx笔记
Niginx学习笔记
Niginx中文文档Niginx中文文档
常见的匹配规则
nginx location ~ ^ = @ 傻傻分不清楚?其实不难
案例1
location ^~ /common-http90/u44/ {
proxy_pass http://xxxxx/;
}
^~
描述: 表示前缀匹配,如果匹配成功,则停止搜索其他正则表达式。
url路径中匹配到的/common-http90/u44/
,则将匹配的内容及其前缀替换为http://xxxxx/
案例2
if ( $request_uri ~* '^/common-http90/wxproxy/qrcode.*$' ) {
rewrite ^/common-http90/wxproxy/qrcode/(.*) /$1 break;
proxy_pass https://mp.weixin.qq.com;
# 这里重写掉 common-http90/wxproxy/qrcode , $1 就是 /(.*)
# 实际请求地址是: http://ip:port/(.*)
}
nginx rewrite参数 以及 $1、$2参数解析(附有生产配置实例)
~*
描述: 使用正则表达式进行匹配,不区分大小写。
/common-http90/wxproxy/qrcode 匹配固定的字符序列 /common-http90/wxproxy/qrcode,这部分表示了具体的路径前缀。
.*
中间部分包括两个元素:
点号 (.
) 可以匹配除换行符外的任意单个字符;
星号 (*
) 则表示前面的点可以出现零次或多次,因此它可以匹配空串或者是任何长度的一系列字符组合。
$
标记着字符串结束的位置。
重构url