nginx配置重定向到参数中的url
在配置nginx使其能达成这样一个条件,访问http://localhost:8080/test?url=https://www.baidu.com,跳转到url中的网址,即https://www.baidu.com
配置
location ~/test { if ( $query_string ~ ^url=(.)$ ) { set $url $1; rewrite ^(.) ${url}? redirect; } }
$query_string可以取到参数,此处 $query_string = ‘url=https://www.baidu.com’,通过正则表达式判断 $query_string格式是否为约定的格式,如果是设置一个变量$url,值为$1,$1代表if判断条件中(.*)的值,rewrite表示将当前网址重定向到${url},${url}?代表重定向之后不带参数,如果不带?,访问之后会重定向到https://ww.baidu.com?url=https://ww.baidu.com
配置不要直接复制,可能会有问题,自己手打,有问题的话跟一下nginx日志。