2012-02-02 2 views
0

나는 이것이 매우 간단 할거라 생각하지만, nginx 재 작성 시스템에서 머리를 맞출 수는없는 것 같습니다. 누군가가 차임하고 나를 도울 수 있기를 바랍니다.

와일드 카드 nginx 다시 쓰기

은 아주 간단하게, 나는

http://foo.example.com


감사가-사전에 당신이 불쌍에 촬영 한 경우 ...

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

가 다시 작성해야하는 .. 필요 이 nginx 멍청한 놈 :
나는 이것에 관해 계속하고있을 것이다. 그리고 만일 내가 '유레카'순간을 쳤을 것 같지 않은 이벤트에서, 나는 이것을 도움이되도록 새롭게 할 것이다 누가이 비슷한 '문제'를 겪고있을 것인가?
건배.

답변

1

실제로 Nginx에서는 다른 도메인에 내부 리디렉션을 할 수 없습니다. 그러나 두 가지 솔루션이 있습니다.

1) 단순 : 지정된 주소로 리디렉션합니다. 예 :

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

2) 단지 : 당신이 PHP-FPM, 아파치 또는 뭔가 다른 사이의 프록시로 Nginx에를 사용하는 경우,이 방법으로 호스트 헤더를 설정할 수 있습니다 :: 세트 $ new_host example.com;

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

및 매개 변수로 전달합니다

proxy_set_header Host $new_host; 
+0

건배, 당신의 도움을 주셔서 감사 :) – Elliot