Nginx重定向取决于URL参数

萨吉德

我是nginx的新手,并且需要有关重定向的帮助(基本上我是Java开发人员),所以这是我需要的建议:我有一个URL 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;
    }
}

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

最好的问候萨吉德

穆罕默德·阿布·谢迪(Mohammad AbuShady)

实际上重写似乎是错误的,请尝试用此替换重写行

if ($arg_server != ""){
    return 301 https://$arg_server/$1;
}

将a添加^到您的重写中可能会奏效,但是最好使用return而不是重写,这就是为什么

我也相信运行一个简单if($arg_server)!=部分就可以,您可以尝试一下,不知道如果它是空字符串是否可以正常工作,例如example.com?server=,如果这样做的话就忽略了我说的话

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章