2012-02-02 33 views
0

私はこれがかなり簡単だと思うが、私はnginx書き換えシステムの周りに頭を上げるように見えない。誰かがチャイムに入り、私を助けてくれることを願っていますか?

ワイルドカードnginx書き直し

は簡単に言えば、私は

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

に書き換えるに...

http://foo.example.com


はお礼を事前にあなたがピティーで撮影した場合...必要このnginxのnoob :)
私はこれで行くと、私は 'ユーレカ'の瞬間をヒットしたことはありませんイベントでは、私はこれを更新するanyonこの似たような「問題」を抱えている人は、
乾杯。

答えて

1

実際、Nginxでは他のドメインに内部リダイレクトすることはできません。しかし、利用可能なソリューションは2つあります。

1)単純:指定されたアドレスにリダイレクトします。例:

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

2)コンプレックス:あなたはPHP-FPM、Apacheまたは何か他のものの間のプロキシとしてnginxのを使用している場合、あなたはこのようにHostヘッダを設定することができ:: セット$ new_host example.com。

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

と、それをパラメータとして渡します

proxy_set_header Host $new_host; 
+0

乾杯を、あなたの助けに感謝:) – Elliot