Поддомен и домен nginx перезаписываются с прокси-пассом

Мне нужны эти два типа перезаписи:

subdomain.domain.com => domain.com/website/subdomain

otherdomain.com => domain .com/userdomain/otherdomain.com

Моя проблема в том, что я хочу, чтобы пользователь видел subdomain.domain.comи otherdomain.com, а не перенаправленную версию. Моя текущая перезапись в nginx работает, но URL-адрес пользователя показывает перезапись, и я хочу, чтобы это было прозрачно для пользователя, есть идеи?:

upstream domain_server { server localhost:8000 fail_timeout=0; }     

server {
        listen  80;
        root  /var/www/domain.com;

        server_name domain.com ~^(?<subdomain>.*)\.domain\.com$ ~^(?<otherdomain>.*)$;
        if ( $subdomain ) {
                rewrite ^ http://domain.com/website/$subdomain break;
        }
        if ( $otherdomain ) {
                rewrite ^ http://domain.com/userdomain/$otherdomain break;
        }

        location / {
                proxy_redirect off;
                proxy_buffering off;
                proxy_set_header Host $http_host;
                proxy_set_header X-forwarded-for $proxy_add_x_forwarded_for;
                if (!-f $request_filename) {
                        proxy_pass http://domain_server;
                        break;
                }
        }

}
11
задан pyramation 10 May 2012 в 20:01
поделиться