nginx location 配置 正则表达式实例详解

2025-05-26 0 49

1.location 介绍

location 是在 server 块中配置,用来通过匹配接收的uri来实现分类处理不同的请求,如反向代理,取静态文件等
location 在 server 块中可以有多个,且是有顺序的,会被第一个匹配的 location 处理
•localtion 匹配功能只做匹配分发用,并不会改变uri的内容或其他作用,我一开始理解的时候就混淆了一些概念,建议多做测试看实际效果

2.localtion 匹配规则

location [ = | ~ | ~* | ^~ ] uri { … }
location @name { … }

注1:规则不能混合使用

注2:以下例子说明都以该server为基础

?

1

2

3

4
server {

listen 8861;

server_name abc.com;

}

2.1 “=” 精确匹配

•内容要同表达式完全一致才匹配成功

例:

?

1

2

3

4

5

6
location = / {

.....

}

# 只匹配http://abc.com

# http://abc.com [匹配成功]

# http://abc.com/index [匹配失败]

2.2 “~”,大小写敏感

例·:

?

1

2

3

4

5
location ~ /Example/ {

.....

}

#http://abc.com/Example/ [匹配成功]

#http://abc.com/example/ [匹配失败]

2.3.“~*”,大小写忽略

例:

?

1

2

3

4

5

6
location ~* /Example/ {

.....

}

# 则会忽略 uri 部分的大小写

#http://abc.com/test/Example/ [匹配成功]

#http://abc.com/example/ [匹配成功]

2.4.“^~”,只匹配以 uri 开头

例:

?

1

2

3

4

5

6
location ^~ /index/ {

.....

}

#以 /img/ 开头的请求,都会匹配上

#http://abc.com/index/index.page [匹配成功]

#http://abc.com/error/error.page [匹配失败]

2.5.“@”,nginx内部跳转

例:

?

1

2

3

4

5

6

7
location /index/ {

error_page 404 @index_error;

}

location @index_error {

.....

}

#以 /index/ 开头的请求,如果链接的状态为 404。则会匹配到 @index_error 这条规则上。

2.6 不加任何规则

•不加任何规则则时,默认是大小写敏感,前缀匹配,相当于加了“~”与“^~”

•只有 / 表示匹配所有uri

?

1

2

3

4

5

6

7

8

9

10

11
location /index/ {

......

}

#http://abc.com/index [匹配成功]

#http://abc.com/index/index.page [匹配成功]

#http://abc.com/test/index [匹配失败]

#http://abc.com/Index [匹配失败]

# 匹配到所有uri

location / {

......

}

总结

以上所述是小编给大家介绍的nginx location 配置 正则表达式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对快网idc网站的支持!

原文链接:https://blog.csdn.net/u014296316/article/details/80966675

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 nginx location 配置 正则表达式实例详解 https://www.kuaiidc.com/53299.html

相关文章

发表评论
暂无评论