Nginx重定向取决于URL Param

时间:2014-03-05 15:12:49

标签: url redirect nginx param

我是nginx的新手,需要帮助重定向(基本上我是Java Dev),所以这里是我需要的建议:我有一个网址https://www.mysite.com/abc?server=10.2.2.10

我希望nginx检查是否设置了服务器参数,然后它应该将url重写为

https://10.2.2.10/abc

这是我尝试过的但它不起作用:

location /abc/{  # I have also tried with /abc
    if ($arg_server != ""){
        rewrite https://$arg_server/$1 permanent;
    }
}

有什么建议吗?谢谢你们的帮助

最好的问候 萨吉德

1 个答案:

答案 0 :(得分:1)

实际上重写似乎错了,尝试用这个

替换重写行
if ($arg_server != ""){
    return 301 https://$arg_server/$1;
}

在重写中添加^可能会有效,但最好使用return而不是重写here's why

另外我认为运行一个简单的if($arg_server)可以在没有!=部分的情况下工作,你可以尝试一下,不确定它是否可以工作,如果它是空字符串,如example.com?server=,如果确实如此,那就忽略我说的话