Linux下Nginx服务正则表达式
2018-06-28 本文已影响0人
ProMonkey_LAIN
- 正则符号及匹配
. #匹配除换行符以外的所有字符
* #任意一个或多个字符
\ #一般用来转义
! #表示不,False
^ #匹配字符串起始位
$ #匹配字符串结束位
~ #区分大小写匹配
~* #不区分大小写匹配
= #普通字符精确匹配
@ #'@'为一个location命名,但是这个location不能被外界访问,只用于nginx内部子请求,例如: error_page, try_files
- 文件和目录匹配
*-f和!-f 判断是否是文件
*-d和!-d 判断是否是目录
*-e和!-e 判断文件或目录是否存在
*-x和!-x 判断是否有执行权限
- 优先级
-
'='等号类型的优先级最高;匹配成功后,不在继续匹配
location = / { # 仅仅匹配请求/;如果匹配成功,则停止匹配查找,采用这一条。 [ configuration A ] }-
'^~'类型的优先级其次;匹配成功后,不在继续匹配
location ^~ /images/ { # 匹配所有以 /images/ 开头的表达式;如果匹配成功,则停止匹配查找,采用这一条。 [ configuration B ] }-
'~/~*'类型的优先级其次;如果匹配成功,继续匹配
location ~* \.(gif|jpg|jpeg)$ { # 匹配所有以 gif,jpg或jpeg 结尾的请求; #如果所有请求 /images/ 下的图片会被 config B 处理,因为 ^~ 到达不了这一条正则;如果匹配成功多个,则使用正则表达式最长的那个。 [ configuration C ] }-
'/'类型的优先级最低;常规字符串匹配类型,按前缀匹配
location / { # 匹配所有以 / 开头的请求。 # 如果有正则表达式可以匹配,则优先匹配正则表达式。但是如果有更长的同类型的正则表达式,则使用正则表达式最长的那个。 [ configuration D ] } -
- 常用配置
#直接匹配网站根,通过域名访问网站首页比较频繁,使用这个会加速处理
location = / {
root html/www;
}
#静态文件处理,匹配开头关键字
location ^~ /ui_web/ {
root html/ui_web;
}
#静态文件处理,一般处理图片,匹配后缀
location ~* \.(gif|jpg|jpeg|png|css|js|ico)$ {
root html/image;
}
#动态处理,反向代理
location /ui_android {
proxy_pass http://192.168.1.253:8080/
}