nginx 怎么配置一个url映射多个路径

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx 怎么配置一个url映射多个路径相关的知识,希望对你有一定的参考价值。

参考技术A nginx的rewrite规则

Nginx location 路径替换(配置 后路径映射问题)

 

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

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

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

server 
    access_log  /home/access.log;
    error_log   /home/error.log;
        server_name www.xxx.com;
        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/之后)

  location /api/edu 
        root   html;
        index  index.html index.htm;
       # root   /usr/share/nginx/html;
        proxy_pass  http://127.0.0.1:8080/edu/;
     

    

/api/edu/a.html   代理到:127.0.0.1:8080/edu/a.html

以上是关于nginx 怎么配置一个url映射多个路径的主要内容,如果未能解决你的问题,请参考以下文章

Nginx location 路径替换(配置 后路径映射问题)

Nginx location 路径替换(配置 后路径映射问题)

Nginx location 路径替换(配置 后路径映射问题)

ini Nginx配置基于/ api / v1 url路径的多个laravel站点

将 url 路径映射到 nginx 中的服务器

mapper映射器