当前位置:主页 > 服务器 > Nginx >

nginx 匹配规则小总结(推荐)

时间:2021-09-22 07:09:44 | 栏目:Nginx | 点击:

nginx location

等号类型(=)的优先级最高,需要精确匹配。一旦匹配成功,则不再查找其他匹配项。

^~类型表达式。一旦匹配成功,则不再查找其他匹配项。

正则表达式类型(~ ~*)的优先级次之。如果有多个location的正则能匹配的话,则使用正则表达式最长的那个。

(location =) > (location 完整路径) > (location ^~ 路径) > (location ~,~* 正则顺序) > (location 部分起始路径) > (/)

nginx 配置 proxy_pass 路径带 / 的问题

用户访问的 url 为 http://klvchen.com/abc/test.html

eg:

#情况1: proxy_pass 后带 / 
location /abc/ {
        proxy_pass http://klvchen.com/;
} 
#会被代理成 http://klvchen.com/test.html
#情况2: proxy_pass 后不带 / 
location /abc/ {
        proxy_pass http://klvchen.com;
} 
#会被代理成 http://klvchen.com/abc/test.html

常用正则

.: 匹配除换行符以外的任意字符
?: 重复0次或1次
+: 重复1次或更多次
*: 重复0次或更多次
\d:匹配数字
^: 匹配字符串的开始
$: 匹配字符串的结束
{n}: 重复n次
{n,}: 重复n次或更多次
[c]: 匹配单个字符c
[a-z]: 匹配a-z小写字母的任意一个

小括号()之间匹配的内容,可以在后面通过$1来引用,$2表示的是前面第二个()里的内容。正则里面容易让人困惑的是\转义特殊字符。

总结

您可能感兴趣的文章:

相关文章