Nginx重定向取决于URL参数

Nginx重定向取决于URL参数,url,redirect,nginx,param,Url,Redirect,Nginx,Param,我是nginx新手,需要重定向方面的帮助(基本上我是一名Java开发人员),所以这里是我需要的建议:我有一个url 我希望nginx检查是否设置了服务器参数,然后它应该将url重写为 https://10.2.2.10/abc 以下是我尝试过但不起作用的方法: location /abc/{ # I have also tried with /abc if ($arg_server != ""){ rewrite https://$arg_server/$1 perm

我是nginx新手,需要重定向方面的帮助(基本上我是一名Java开发人员),所以这里是我需要的建议:我有一个url

我希望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;
    }
}
有什么建议吗?谢谢你们的帮助

致意
Sajid

实际上,重写似乎是错误的,请尝试用以下内容替换重写行

if ($arg_server != ""){
    return 301 https://$arg_server/$1;
}
向重写中添加
^
可能会起作用,但最好使用return而不是rewrite


另外,我相信运行一个简单的
if($arg_server)
在没有
的情况下也能工作=部分,你可以试试,但不确定如果它是空字符串,比如
example.com?server=
,如果它真的这样做了,那么就忽略我说的话,不工作,你的意思是什么都不做,或者它显示了错误吗?是的,它什么都不做@MohammadAbuShadyIt这真是个奇怪的想法,为nginx提供一个服务器名,并让nginx重定向到该服务器。为什么不先去那个服务器呢?事实上第一个站点应该从第二个站点获取数据……当然我会马上尝试一下谢谢:)curl-k 301永久移动301永久移动
ngx_openresty/1.4.3.1我使用curl时得到了上面的信息,但我在nginx应该访问的ip上没有收到任何请求重定向可能是因为curl不遵循重定向,浏览器做什么?或者尝试向curl添加
-L
,我想应该是
https://$arg\u server$uri
,因为我没有看到任何填充
$1
@MohammadAbuShady的regexp基本上我使用的是AJAX调用,我得到的是:XMLHttpRequest无法加载https://[新的ip地址]/abc。访问控制不允许原点允许原点。我知道这可以由CORs处理,但我想知道是否还有其他方法?