1. Location的作用
Location指令的作用是根据用户请求的URI来执行不同的应用,也就是根据用户请求的网站URL进行匹配,匹配成功即进行相关的操作。
2.Location的语法
- 以
=
开头表示精确匹配,如 A 中只匹配根目录结尾的请求,后面不能带任何字符串。 ^~
开头表示uri以某个常规字符串开头,不是正则匹配~
开头表示区分大小写的正则匹配;~*
开头表示不区分大小写的正则匹配/
通用匹配, 如果没有其它匹配,任何请求都会匹配到
3.Location正则案例
1.精确匹配,/后面不能带任何字符:
server { listen 80; server_name www.baidu.com; #精确匹配,注解后面不能带任何字符 location =/ { proxy_pass http://127.0.0.1:8080; index index.html index.htm; } }
2.匹配所有以/开头请求:
server { listen 80; server_name www.baidu.com; #匹配所有以/开头请求 location / { proxy_pass http://127.0.0.1:8080; index index.html index.htm; } }
3.比如以开头/ylw_8080拦截 默认开启不区分大小写:
server { listen 80; server_name www.baidu.com; ### 以开头/ylw_8080 最终跳转到http://127.0.0.1:8080/; location /ylw_8080/ { proxy_pass http://127.0.0.1:8080/; index index.html index.htm; } ### 以开头/ylw_8080 最终跳转到http://127.0.0.1:8081/; location /ylw_8081/ { proxy_pass http://127.0.0.1:8081/; index index.html index.htm; } }
注意:开头区分大小写!