2012-02-02 75 views
0

我懷疑這會很簡單,但我似乎無法繞過nginx重寫系統。希望有人能加入並幫助我?

通配符nginx重寫

很簡單,我需要..

http://example.com/?c=foo

要被改寫成...

http://foo.example.com


感謝信提前,如果你已經採取了對皮蒂這nginx noob :)
我會繼續在這個,並在不太可能的情況下,我打了'尤里卡'的時刻,我會更新這個幫助任何誰有/將會有這種類似的「問題」。
乾杯。

回答

1

實際上,不可能在Nginx中內部重定向到其他域。但有兩種可用的解決方案:1)簡單:使重定向到指定的地址。例如:

if ($arg_c) { 
    rewrite^http://$arg_c.example.com; 
} 

2)複雜的:如果你使用的Nginx作爲PHP-FPM,Apache或別的東西之間的代理,你可以設置這樣的主機頭:: 集$ new_host example.com;

if ($arg_c) { 
    set $new_host $arg_c.example.com; 
} 

,並把它作爲一個參數:

proxy_set_header Host $new_host; 
+0

乾杯,感謝您的幫助:) – Elliot 2012-02-03 16:53:43