原因:在日常的運維工作中出現了很多前端的跳轉,總結了一些日常用的一些跳轉的實現
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實現跳轉