2014-03-05 28 views
0

我在nginx的新需要重定向(基本上我是一個Java開發)幫助,所以這裏是我需要的建議:我有一個網址https://www.mysite.com/abc?server=10.2.2.10Nginx的重定向取決於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

+0

不工作,你的意思是不做任何事情或做它顯示錯誤? –

+0

是的,它什麼都不做@MohammadAbuShady – Sajid

+0

這真是奇怪的想法,提供一個nginx的服務器名稱,並有nginx重定向到該服務器。爲什麼不直接前往該服務器? –

回答

0

其實改寫似乎是錯誤的,試圖用這種

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

添加^你重寫很可能會工作,但它的替換重寫線更好地使用返回而不是重寫here's why

此外我相信運行一個簡單的if($arg_server)將工作沒有!=部分,你可以試試看,但不知道它是否會工作,如果它是空字符串,如example.com?server=,如果它確實然後只是忽略我說的

+0

肯定我會馬上試試謝謝:) – Sajid

+0

curl https://mysite.com/abc?server=someip -k 301移至永久 <體BGCOLOR = 「白色」>

301永久移動


ngx_openresty/1.4.3.1
我得到以上,當我使用CURL b ut我沒有得到任何請求,在nginx的IP地址應該重定向 – Sajid

+0

可能是因爲curl沒有遵循重定向,瀏覽器是做什麼的?或嘗試添加'-L'來捲曲 –