服务器之家

服务器之家 > 正文

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

时间:2019-12-24 13:43     来源/作者:spongeboblz

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 配置 正则表达式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!

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

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
配置IIS网站web服务器的安全策略配置解决方案
配置IIS网站web服务器的安全策略配置解决方案 2019-05-23
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
Nginx服务器究竟是怎么执行PHP项目
Nginx服务器究竟是怎么执行PHP项目 2019-05-24
返回顶部