Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >nginx location配置

nginx location配置

作者头像
腾讯IVWEB团队
发布于 2020-09-22 03:14:30
发布于 2020-09-22 03:14:30
3.7K10
代码可运行
举报
运行总次数:0
代码可运行

编写本文时,使用的nginx版本为nginx/1.17.9和nginx/1.16.1

路由匹配规则

location路由匹配的大致规则:location [=|^~|~|~*|@] path { ... }

如果大家对这块内容比较熟悉了,可以直接到优先级疑惑点这里看一个比较奇怪的匹配逻辑。

精确匹配(=)

location配置的path和客户端请求的path完全一致时匹配成功。

匹配成功后,nginx就会停止搜索其他匹配项。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
server {
  listen 2020;

  location = /test {
    return 200 '=';
  }
}
  • 请求localhost:2020/test,匹配成功,响应内容为"="
  • 请求localhost:2020/test?num=1,匹配成功,响应内容为"="
  • 请求localhost:2020/test/,匹配失败,响应状态码404
  • 请求localhost:2020/test/1,匹配失败,响应状态码404

前缀匹配(^~)

location配置的path为客户端请求的path前缀时匹配成功。

匹配成功后,nginx还会判断是否存在后面这种情况{(location修饰符为^~ || location没有修饰符) && location配置的path是客户端请求的前缀},如果存在,就使用匹配项最多的作为最后的匹配结果。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
server {
  listen 2020;

  location ^~ /test {
    return 200 '^~';
  }
}
  • 请求localhost:2020/test,匹配成功,响应内容"^~"
  • 请求localhost:2020/test/1,匹配成功,响应内容"^~"
  • 请求localhost:2020/test111,匹配成功,响应内容"^~"
  • 请求localhost:2020/tes,匹配失败,响应状态码404
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
server {
  listen 2020;

  location ^~ /test {
    return 200 '/test';
  }

  location ^~ /test/1 {
    return 200 '/test/1';
  }
}
  • 请求localhost:2020/test,匹配成功,响应内容"/test"
  • 请求localhost:2020/tes,匹配成功,响应内容"/test"
  • 请求localhost:2020/test/1,匹配成功,响应内容"/test/1"。这里两个location配置都匹配上了,第一个location匹配项为1,第二个location匹配项为2,由于nginx选用匹配项最多的location,所以响应内容"/test/1"。

正则匹配(~ 和 ~*)

修饰符~,正则匹配区分大小写。修饰符~*,正则匹配不区分大小写。

正则匹配以location在文件中的定义顺序从上到下进行匹配。匹配成功以后,nginx就停止搜索其他匹配项。

注意:mac os文件系统大小写不敏感,因此nginx服务配置的location path不区分大小写,nginx使用~和~效果是一样的。linux文件系统大小写敏感,因此nginx服务区分大小写,nginx使用~和~效果与前面介绍的效果一致。

~例子
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
server {
  listen 2020;

  location ~ /test_a {
    return 200 '~';
  }
}
  • 请求localhost:2020/test_a,匹配成功,响应内容"~"
  • 请求localhost:2020/test_A,匹配成功和失败都有可能,得看nginx服务所在的系统对于大小写是否敏感。mac os系统下,匹配成功,响应内容"~";linux系统下,匹配失败,响应状态码404。
~*例子
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
server {
  listen 2020;

  location ~* /test_a {
    return 200 '~*';
  }
}
  • 请求localhost:2020/test_a,匹配成功,响应内容"~*"
  • 请求localhost:2020/test_A,匹配成功,响应内容"~*"

优先级

注:优先级从上到下依次递减。

  1. 精确匹配(=)
  2. 前缀匹配(^~)
  3. 正则匹配(~和~*)
  4. 通配符路径(没有任何修饰符,只有一个通配符路径"/")

下面我们使用不同的location配置组合来匹配location:2020/test_a这个请求。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
server {
  listen 2020;

  location ^~ /test_a {
    return 200 '^~';
  }

  location = /test_a {
    return 200 '=';
  }
}
  • 请求localhost:2020/test_a,匹配成功,响应内容"=",精确匹配优先级比前缀匹配优先级大

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
server {
  listen 2020;

  location ~ /test_a {
    return 200 '~';
  }

  location ^~ /test_a {
    return 200 '^~';
  }
}
  • 请求localhost:2020/test_a,匹配成功,响应内容"^~",前缀匹配优先级比正则匹配优先级大

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
server {
  listen 2020;
  
  location / {
    return 200 '/';
  }

  location ~ /test_a {
    return 200 '~';
  }
}
  • 请求localhost:2020/test_a,匹配成功,响应内容"~",正则匹配优先级比通配符优先级大

优先级疑惑点

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
server {
  listen 2020;

  location ^~ /test {
    return 200 '~';
  }
  
  location /test/a {
    return 200 'null';
  }
}
  • 请求localhost:2020/test/a,匹配成功,响应内容"null",可以知道第二个location配置优先级比前缀优先级大,这个在前面前缀匹配有介绍。

我们将配置改成下面这个内容:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
server {
  listen 2020;
  
  location /test {
    return 200 'null';
  }

  location ^~ /test {
    return 200 '~';
  }
}

然后运行nginx -t来检测配置文件是否正确,得到的结果是:nginx: [emerg] duplicate location "/test" in ...,这里的意思是路径为/test的location重复了。看到这里,原本以为"^~"是nginx定义location时默认的修饰符,但是,实际可能并不是,我们看下面的例子。


代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
server {
  listen 2020;
  
  location ~ /test {
    return 200 '~';
  }
  
  location /test/a {
    return 200 'null';
  }

  location ^~ /test {
    return 200 '~';
  }
}
  • 请求localhost:2020/test/a,匹配成功,响应内容"~"(what?为什么返回的不是"null"),这里三个都匹配上了,但是nginx选用的是正则匹配结果,这个我不知道是什么原因,如果有大佬知道原因,还请大佬帮忙解惑。

location常用的参数

root & alias

两个参数都是用来指定文件路径。

注:之前很多文章都表示alias配置的路径最后必须加上"/",这个到现在已经不适用了。我测试的时候,alias配置的路径最后不添加"/",一样可以正常使用。

最终指向的文件路径区别
  • root指向的文件实际路径:root+location
  • alias指向的文件实际路径:alias
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
server {
  listen 2020;
  
  location /test {
    root /data;
  }
}

最终指向的文件路径为/data/test

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
server {
  listen 2020;
  
  location /test {
    alias /data;
  }
}

最终指向的文件路径为/data;

使用上面的配置,我们发起请求localhost:2020/test/1.png

  • root配置,该请求查找的文件路径为/data/test/1.png
  • alias配置,该请求查找的文件路径为/data/1.png
定义位置区别
  • root可以在http、server、location、if中定义内容
  • alias只能在location中定义

root在http、server定义以后,location会默认继承上层定义的内容,可以在location中使用root对上层root定义进行重写,或者使用alias让上层root在该lcation中失效。

正则匹配时定义区别
  • root:按照前面说的方式使用
  • alias:需要将正则匹配的内容添加到alias定义的路径后面,具体的例子如下
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
server {
  listen 2020;
  
  location ~ /test {
    alias /data;
  }
}

请求localhost:2020/test/1.png,匹配成功,但是没有找到文件内容,响应404

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
server {
  listen 2020;
  
  location ~ /test(.*)$ {
    alias /data$1;
  }
}

请求localhost:2020/test/1.png,匹配成功,能够正常返回文件

proxy_pass

该参数用作反向代理,可以用来做负载均衡、前端解决跨域等功能。使用结构proxy_pass url

关于proxy_pass实现负载均衡,可以在nginx负载均衡中看到相关内容。

proxy_pass转发请求,配置的url最后是否有"/",会呈现不同的效果。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
server {
  listen 2020;
  
  location /api/ {
    proxy_pass http://localhost:7001;
  }
}

请求localhost:2020/api/component/list,nginx会将该请求代理转发到http://locahost:7001/api/component/list

应用场景:前端请求存在跨域,后端接口格式是api/业务路由,前端请求的接口也是api/业务路由

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
server {
  listen 2020;
  
  location /api/ {
    proxy_pass http://localhost:7001/;
  }
}

请求localhost:2020/api/component/list,nginx会将该请求代理转发到http://locahost:7001/component/list

应用场景:后端接口格式是业务路由,前端请求的接口是api/业务路由,前端请求的接口前面加一个"api"是为了标识某个后端服务,后端接口中并没用这个标识。


代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
server {
  listen 2020;
  
  location /api/ {
    proxy_pass http://localhost:7001/online;
  }
}

请求localhost:2020/api/component/list,nginx会将该请求代理转发到http://locahost:7001/onlinecomponent/list

应用场景:没遇到这样的场景,一般都会用都会用"/"隔开路径。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
server {
  listen 2020;
  
  location /api/ {
    proxy_pass http://localhost:7001/online/;
  }
}

请求localhost:2020/api/component/list,nginx会将该请求代理转发到http://locahost:7001/online/component/list

rewrite

rewrite参数用来将客户端请求重定向到一个新的地址。使用格式rewrite regex replacement [flag];

  • regex(必填):正则匹配,只有正则匹配成功后,才能进行地址修改等后续步骤
  • replacement(必填):新的url(以http:// https:// $schema等开头)或者uri,正则匹配成功后会用这个值替换原来的请求地址。当replacement值是url时,客户端请求发生重定向,因此会有两次请求,第一次请求是客户端原请求,响应的状态码为302,第二次请求的地址就是replacement值,本次rewrite逻辑运行完成以后,后续的rewrite不再匹配;当replacement值为uri时,客户端请求可能发生重定向,是否发生重定向与flag参数有关
  • flag(可选)
    • break:本条rewrite逻辑运行完成以后,后续的rewrite不再匹配
    • last:本条rewrite逻辑运行完成以后,后续的rewrite不再匹配,重新开始location路由匹配
    • permanent:永久重定向,301
    • redirect:临时重定向,302

下面展示几个例子:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
server {
  listen 2020;
  
  location / {
    rewrite /(.*) https://www.$1.com;
  }
}

请求localhost:2020/baidu,请求被重定向到https://www.baidu.com

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
server {
  listen 2020;
  
  location / {
    rewrite (.*) https://www.baidu.com;
    rewrite (.*) https://www.github.com;
  }
}

请求localhost:2020,请求被重定向到https://www.baidu.com,查看network,里面有一条http://localhost:2020/请求,响应的状态码为302,还以一条https://www.baidu.com/请求。


代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
server {
  listen 2020;
  
  location / {
    rewrite (.*) /test redirect; # permanent也是可以的
  }
  
  location /test {
    return 200 'ok';
  }
}

请求localhost:2020,请求被重定向到http://localhost:2020/test,network中有两条请求分别是响应状态码302(flag值为permanent时,状态码为301)的http://localhost:2020/请求和响应状态码为200的http://localhost:2020/test请求。


flag值为break或last都会终止后续rewrite匹配(不会终止proxy_pass等逻辑),两者不同的点是,break不会发起一轮新的location路由匹配,而last会发起一轮新的location匹配。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
server {
  listen 2020;
  
  location /last {
    rewrite /last(.*) /test1;
    rewrite /test1(.*) /test2 last;
    rewrite /test2(.*) /test3;
  }
  
  location /break {
    rewrite /break(.*) /test1;
    rewrite /test1(.*) /test2 break;
    rewrite /test2(.*) /test3;
  }

  location /test1 {
    return 200 'test1';
  }

  location /test2 {
    return 200 'test2';
  }

  location /test3 {
    return 200 'test3';
  }
}
  • 请求localhost:2020/last,响应内容"test2"。这个请求被location /last {...}匹配成功,因为rewrite /test1(.*) /test2 last这里flag为last,所以这条rewrite逻辑运行完以后,就会忽略后续的rewrite,然后重新location路由匹配,重新匹配时请求变成http://localhost:2020/test2,因此会被location /test2 {}这条location匹配,所以响应内容为"test2"。
  • 请求localhost:2020/break,响应状态码为404。这个请求被location /break {...}匹配成功,因为rewrite /test1(.*) /test2 break这里flag为break,所以这条rewrite逻辑运行完以后,就会忽略后续的rewrite,执行完当前location后还是没有找到资源文件,因此返回状态码"404"。

将上面例子中location /break {...}这部分内容修改一下,修改成如下内容:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
location /break {
    rewrite /break(.*) /test1;
    rewrite /test1(.*) /test2 break;
    rewrite /test2(.*) /test3;
    
    proxy_pass http://localhost:2020;
}
  • 请求localhost:2020/break,响应内容"test2",rewrite语句中flag值为break,不会影响proxy_pass语句,因此localhost:2020/break实际会代理转发到localhost:2020/test2这个地址。

如果rewrite部分内容没有看懂,可以到搞懂nginx的rewrite模块查看更详细的介绍。

index

index用于指定网站的起始页面,默认值index index.html;

index参数只是用来指定文件的路径,nginx根据index参数查找文件是否存在,如果存在就用文件路径拼接成新的url,nginx内部重定向到这个新的url,来获取到起始页面资源。下面用具体的例子来进行说明(/data/test目录下有一个index.html文件):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
server {
  listen 2020;
  
  location / {
    root /data/test;
    index index.html;
  }
}

请求localhost:2020,响应内容为文件/data/test/index.html内容。

下面对配置文件添加一些内容,用来匹配html文件请求:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
server {
  listen 2020;
  
  location / {
    root /data/test;
    index index.html;
  }
  
  location ~ \.html$ {
    return 200 'html文件请求拦截';
  }
}

请求localhost:2020,响应内容"html文件请求拦截"。这个例子很好的说明nginx内部会将初始页文件路径生成一个新的url,nginx内部重定向到这个新的url请求初始页文件。


index后面可以跟多个文件路径,当前一个文件不存在时,nginx会自动判断后面文件是否存在。下面使用一个例子来展示(/data/test目录下只有idnex.php文件):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
server {
  listen 2020;
  
  location / {
    root /data/test;
    index index.html index.php;
  }
}

请求localhost:2020,nginx会首先判断文件/data/test/index.html是否存在,如果存在,就使用这个文件路径来生成新的文件url,然后nginx内部重定向到这个文件资源;如果不存在,就判断/data/test/index.php文件是否存在,如果不存在就返回403,如果存在,就使用这个文件路径来生成新的文件url,然后nginx内部重定向到这个文件资源。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/09/20 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
1 条评论
热度
最新
server { listen 2020; location ^~ /test { return 200 '/test'; } location ^~ /test/1 { return 200 '/test/1'; }}localhost/tes匹配不到这个的 这里错了
server { listen 2020; location ^~ /test { return 200 '/test'; } location ^~ /test/1 { return 200 '/test/1'; }}localhost/tes匹配不到这个的 这里错了
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
nginx配置 location及rewrite规则详解
1. location正则写法 语法规则: location [=|~|~*|^~] /uri/ { … } =    开头表示精确匹配 ^~  开头表示uri以某个常规字符串开头,理解为匹配 url路径即可。nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa匹配到(注意是空格)。 ~   开头表示区分大小写的正则匹配 ~*  开头表示不区分大小写的正则匹配 !~和!~*分别为区分大小写不匹配及不区分大小写不匹配 的正则 / 通用匹配,任何请求都会匹
用户1214487
2018/05/28
2.9K0
Nginx location匹配规则
上述配置,默认访问/会重定向到/my-module, 然后直接返回/data/my-module/dist下的html等静态文件。
Ryan-Miao
2019/06/18
2K0
Nginx配置location总结及rewrite规则写法
location = / {     # 精确匹配 /,主机名后面不能带任何字符串     [ configuration A ]  } location / {     # 因为所有的地址都以/开头,所有这条规则将匹配到所有请求     # 但是正则和最长字符串会优先匹配     [ configuration B ] } location /documents/ {     # 匹配任何以/documents/开头的地址,匹配符合以后,还要继续往下搜索     # 只有后面的正则表达式没有匹配到时,这一条才会采用     [ configuration C ] } location ~ /documents/Abc {     # 匹配任何以 /documents/开头的地址,匹配符合以后,还要继续往下搜索     # 只有后面的正则表达式没有匹配到时,才会采用这一条      [ configuration CC ] } location ^~ /images/ {     # 匹配任何以/images/开头的地址,匹配符合以后,停止往下搜索正则,采用这一条     [ configuration D ] } location ~* \.(gif|jpg|jpeg)$ {     # 匹配所有以gif,jpg或jpeg结尾的请求     # 然而,苏朋友请求/images/下的图片会被config D处理,因为^~到达不了这一正则     [ configuration E ] } location /images/ {     # 字符匹配到 /images/,继续往下,会发现^~存在     [ configuration F ] } location /images/abc {     # 最长字符匹配到/images/abc,继续往下,会发现^~存在     # F与G的放置顺序是没有关系的     [ configuration G ] } location ~ /images/abc/ {     # 只有去掉config D才有效:先最长匹配config G开头的地址,继续往下搜索,匹配到这一正则,采用     [ configuration H ] } location ~* /js/.*/\.js
星哥玩云
2022/07/29
1.2K0
深入理解Nginx的rewrite模块
rewrite模块即ngx_http_rewrite_module模块,主要功能是改写请求URI,是Nginx默认安装的模块。rewrite模块会根据PCRE正则匹配重写URI,然后发起内部跳转再匹配location,或者直接做30x重定向返回客户端。
sunsky
2020/08/20
1.8K0
nginx的location、rewrite玩法详解
顺序 no优先级: (location =) > (location 完整路径) > (location ^~ 路径) > (location ~,~* 正则顺序) > (location 部分起始路径) > (/)
sunsky
2020/08/20
1.2K0
Nginx中location、rewrite使用方法
矫正: location 的匹配顺序其实是“先匹配普通,再匹配正则”。我这么说,大家一定会反驳我,因为按“先匹配普通,再匹配正则”解释不了大家平时习惯的按“先匹配正则,再匹配普通”的实践经验。这里我只能暂时解释下,造成这种误解的原因是:正则匹配会覆盖普通匹配。
星哥玩云
2022/07/28
1.2K0
Nginx中location、rewrite使用方法
开发必备的nginx常用功能使用说明指南
示例:nginx官方文档->Modules reference->ngx_http_gzip_module
lyb-geek
2022/03/10
5960
开发必备的nginx常用功能使用说明指南
Nginx常见配置及应用
Nginx 使用ngx_http_proxy_module来完成对后端服务的代理。
兜兜转转
2023/03/06
9830
nginx中的location & root & alias & rewrite
注意: alias只能用于location中(使用alias,目录名后面一定要加“/”),而root可以用在http、server和location中。
阿dai学长
2019/04/03
2.9K0
你真的了解如何将 Nginx 配置为Web服务器吗
阅读之前,建议先阅读初识 Nginx。 之后,我们来了解一下 Nginx 配置。
思梦php
2018/02/09
2.2K0
你真的了解如何将 Nginx 配置为Web服务器吗
Nginx中虚拟主机配置
1、修改宿主机的hosts文件(系统盘/windows/system32/driver/etc/HOSTS)
HUC思梦
2020/09/03
2.1K0
nginx配置url重写
url重写是指通过配置conf文件,以让网站的url中达到某种状态时则定向/跳转到某个规则,比如常见的伪静态、301重定向、浏览器定向等
PM吃瓜
2019/08/13
1.9K0
Nginx的location配置规则梳理
Nginx几乎是当下绝大多数公司在用的web应用服务,熟悉Nginx的配置,对于我们日常的运维工作是至关重要的,下面就Nginx的location配置进行梳理: 1)location匹配的是nginx
洗尽了浮华
2018/01/23
2.1K0
Nginx - location中的匹配规则和动态Proxy
https://nginx.org/en/docs/http/ngx_http_core_module.html#location
小小工匠
2024/05/26
1.5K0
Nginx - location中的匹配规则和动态Proxy
nginx部署React项目
nignx是一款非常优秀的服务器软件,前端工程师在开发完项目后,通常要将项目部署到服务器,我在部署项目时用的就是nginx。
挥刀北上
2020/07/14
11.7K0
nginx部署React项目
Nginx葵花宝典—草根站长配置Nginx运维百科全书
前段时间把网站迁移到腾讯云,之前是lamp,现在改为lnmp,自以为nginx功底还可以,开发这么多年,平常环境都有配置。但是,但是,最近读站点做SEO优化,发现nginx很多地方不会配。比如:
周陆军博客
2023/06/06
9090
【Nginx06】Nginx学习:HTTP核心模块(三)Location
Location 是整个 HTTP 模块中非常重要的一个子模块,它是为某个请求URI(路径)建立配置。这个模块又是属于 Server 模块的子模块,同时它还可以嵌套在另一个 Location 模块下面,因此,它的作用范围是 server 和 location 。其实,说白了,也就是我们可以为指定的一些路径去做一些额外的配置。
硬核项目经理
2023/08/09
1K0
【Nginx06】Nginx学习:HTTP核心模块(三)Location
你真的了解如何将 Nginx 配置为Web服务器吗
阅读之前,建议先阅读初识 Nginx。 之后,我们来了解一下 Nginx 配置。 抽象来说,将 Nginx 配置为 Web 服务器就是定义处理哪些 URLS 和如何处理这些URLS 对应的请求。具体来说,就是定义一些虚拟服务器(Virtual Servers),控制具有特定 IP 和域名的请求。 更具体的来说, Nginx 通过定义一系列 locations 来控制对 URIS 的选择。每一个 location 定义了对映射到自己的请求的处理场景:返回一个文件或者代理请求,或者根据不同的错误代码返回不同的错
hbbliyong
2018/03/06
2.5K0
你真的了解如何将 Nginx 配置为Web服务器吗
nginx之location指令
localtion可以由前缀字符串或正则表达式定义。正则表达式使用前面的“〜*”修饰符(不区分大小写匹配)或“〜”修饰符(用于区分大小写匹配)指定。要找到匹配给定请求的位置,nginx首先检查使用前缀字符串(前缀位置)定义的位置。默认情况, nginx先检查前缀字符串,然后检查正则表达式,如果前缀字符串匹配到了,并且前缀字符串有这个“^~” 要求,就不配正则了;如果没有这个“^~” ,即使前缀匹配到了,也要去匹配正则表则,如果正则表达式匹配到了,就是用正则表达式的,没有就是用前缀字符串匹配到的路径
山行AI
2019/08/05
1.5K0
应用场景之nginx配置简介
(a|b|c) : 属线表示匹配任意一种情况,每种情况使用竖线分隔,一般使用小括号括括住,匹配符合a字符 或是b字符 或是c字符的字符串
友儿
2022/09/11
8230
相关推荐
nginx配置 location及rewrite规则详解
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验