Nginx的location怎么使用

这篇文章主要讲解了“Nginx的location怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Nginx的location怎么使用”吧!

创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站设计、做网站、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的建宁网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

语法

Syntax: location [ = | ~ | ~* | ^~ ] uri { ... }        location @name { ... }Default:  —Context:  server, location
语法说明
location = /uri=开头表示精确匹配,只有完全匹配上才能生效。
location ^~ /uri^~ 开头对URL路径进行前缀匹配,并且在正则之前。
location ~ pattern~开头表示区分大小写的正则匹配。
location ~* pattern~*开头表示不区分大小写的正则匹配。
location /uri不带任何修饰符,也表示前缀匹配,但是在正则匹配之后。
location /通用匹配,任何未匹配到其它location的请求都会匹配到,相当于switch中的default。
  1. 精确匹配的优先级最高。

  2. 如果没有精确匹配,那么就会对配置文件中的所有非正则location进行匹配,找到最长匹配。如果最长匹配是以^~开头,那么就返回该匹配结果。

  3. 对正则匹配逐个进行匹配,如果匹配成功,则返回正则location,如果不成功,则返回第2步匹配的最长匹配结果

nginx 配置 proxy_pass时可以实现URL路径的部分替换。

1.proxy_pass的目标地址,默认不带/,表示只代理域名,url和querystring部分不会变(把请求的path拼接到proxy_pass目标域名之后作为代理的URL)

2.如果在目标地址后增加/,则表示把path中location匹配成功的部分剪切掉之后再拼接到proxy_pass目标地址

例子:

server {        location  /abc {                proxy_pass http://server_url;        }       location  /abc {                proxy_pass http://server_url/;        } }

比如请求 /abc/b.html

如上两个匹配成功后,实际代理的目标url分别是

http://server_url/abc/b.html (把/abc/b.html拼接到http://server_url之后)

http://server_url/b.html (把/abc/b.html的/abc去掉之后,拼接到http://server_url/之后)

感谢各位的阅读,以上就是“Nginx的location怎么使用”的内容了,经过本文的学习后,相信大家对Nginx的location怎么使用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!


网站名称:Nginx的location怎么使用
网页链接:http://scyanting.com/article/ppihps.html