解决方案需求:我们要将访问前的URL地址重写为访问后的地址,并跳转(注意参数值是动态的) 访问前地址:http://www.a.com/api?model=Air&platformCode=A®ion=CH&versionNumber=1 访问后地址:http://www.b.com/api?model=Air&platformCode=A
hosts配置主要利用了nginx中的$arg_xx参数动态获取url中的参数值。
重写规则最后的?很关键,如果不加的话,会导致url后的参数动态拼接到后面,加了之后,相当于起到一个阻断作用。
hosts文件位置:C:WindowsSystem32driversetc
127.0.0.1 www.a.com 127.0.0.1 www.b.comnginx配置
if ( $host = 'www.a.com') {
rewrite ^/api http://www.b.com/api?model=$arg_model&platformCode=$arg_platformCode?;
}
注意:如果尝试多次,未发生跳转,请清除浏览器缓存再试。
同时,在每次修改完配置后,记得重启一下nginx。
下面罗列一些nginx常用命令:(更多nginx命令请合理利用搜索引擎)
start nginx.exe #启动nginx nginx.exe -s reload # 重载配置文件 nginx.exe -s stop # 关闭nginx taskkill -f -im nginx* #暴力结束nginx进程



