server {
listen 80;
server_name xxxx;
location ^~ /cdn/1/ {
alias /opt/1/;
}
# 例:http://xx/cdn/1/index.html
# 用alias: http://xx/opt/1/index.html
# 用root: http://xx/opt/1/cdn/1/index.html
location ~* ^/1/(.*)$ {
proxy_pass http://127.0.0.1:8080/$1?$args;
}
# 例:http://xx/1/getUser
# 结果: http://127.0.0.1:8080/getUser?...
}
#nginx location 匹配模式有
location =
location 完整路径
location ^~
location ~|~*
location 部分其实路径
loaction /
#其中优先顺序
(location =) > (location 完整路径) > (location ^~ 路径) > (location ~|~* 正则顺序) > (location 部分起始路径) > (location /)
= #字面精确匹配
^~ #最大前缀匹配
~ #大小写相关的正则匹配
~* #大小写无关的正则匹配
/ #不带任何前缀:最大前缀匹配
@ #location内部重定向的变量
#其中(=)|(^~)|(/) 属于普通字符串匹配(~)|(~*)属于正则表达式匹配。