nginx

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > nginx > Nginx location路径映射

Nginx中的location路径映射问题

作者:say荣帅

这篇文章主要介绍了Nginx中的location路径映射问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Nginx location路径映射

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

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

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

例子:

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

       location  /xxx {
                proxy_pass http://server_url/;
        }
 }

比如请求 域名/xxx/index.html

实际代理的目标url分别是

Nginx的location匹配规则

Nginx的location语法

location [=|~|~*|^~] /uri/ { … }

示例1:

location  / { }

匹配任意请求

示例2:

location ~* .(gif|jpg|jpeg)$ {
    rewrite .(gif|jpg|jpeg)$ /logo.png;
}

不区分大小写匹配任何以gif、jpg、jpeg结尾的请求,并将该请求重定向到 /logo.png请求

location ~ ^.+\.txt$ {
    root /usr/local/nginx/html/;
}

区分大小写匹配以.txt结尾的请求,并设置此location的路径是/usr/local/nginx/html/。

也就是以.txt结尾的请求将访问/usr/local/nginx/html/ 路径下的txt文件

alias与root的区别

示例如下:

location ^~ /sta/ {  
   alias /usr/local/nginx/html/static/;  
}
location ^~ /tea/ {  
   root /usr/local/nginx/html/;  
}

last 和 break关键字的区别

(1)last 和 break 当出现在location 之外时,两者的作用是一致的没有任何差异

(2)last 和 break 当出现在location 内部时:

permanent 和 redirect关键字的区别

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文