nginx实现网站url带参跳转 POST请求GET请求跳转

2,577 阅读1分钟

应工作需求,访问一个网站时直接跳转到另一个url
目标URL http://123.com.cn/123/123.action?id=3
但是跳转的目标url是带参数的,用传统的方法会在最后加上 ‘/’ 导致访问失败404,所以在网上百度了一些方法最终可用。

我使用的是 亲测可用

在这里插入图片描述

proxy_pass转发url的参数,可以通过在location中用rewrite来做,所以完善后的配置如下:
 
location ~ ^/api/([0-9]+)(\.[0-9]+)*/client/ {
    rewrite /(.*)$ /$1 break;
    proxy_pass http://bbb.example.com;
    proxy_set_header Host $proxy_host;
} 
在location用rewrite改变了URI之后,proxy_pass将使用改变后的URI。上面例子(.*)是将所有参数传给$1,转发时/$1会拼接在http://bbb.example.com后面。
实例一:
rewrite ^(.*)/dev/  http://admin.jk.com/test/redirect.html break;
就是访问http://admin.jk.com/dev/src/pages/login.html 或者 http://admin.jk.com/dev/ 就会跳转到后面指定的url
实例二:
rewrite  ^/(.*)$  http://test.jk.com/dev/src/pages/member/memberMessage/msgTransfer.html?code=$1 permanent;
就是当访问http://r.test.jk.com/123的时候,就是把域名加/后面的参数也就是123全部给他后台的$1实现跳转
 
实例三:
rewrite  ^/mdt/cloud/(.*)$  http://qerp.qumaiyao.com/api/$1 permanent;
就是当访问http://test.jk.com/mdt/cloud/yyxUser/platformExceptionMsg的时候将yyxUser/platformExceptionMsg传给后面的$1实现跳转

查到的资料
Windows系统安装nginx及配置
Nginx带变量参数跳转
Nginx网站常见的跳转配置实例

---------------------------3月15日补充---------------------------

nginx配post转发

借鉴:
blog.csdn.net/t2337025/ar…

nginx配get转发

blog.csdn.net/a12345678n/…