nginx sous-domaine et réécriture de domaine w proxy pass

J’ai besoin de ces deux types de réécriture:

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

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

Mon problème est que je veux que l’utilisateur voie otherdomain.com et otherdomain.com , pas la version redirigée. Ma réécriture actuelle dans nginx fonctionne, mais l’URL de l’utilisateur affiche la réécriture, et je veux que cela soit transparent pour l’utilisateur, toutes les idées?:

 upstream domain_server { server localhost:8000 fail_timeout=0; } server { listen 80; root /var/www/domain.com; server_name domain.com ~^(?.*)\.domain\.com$ ~^(?.*)$; 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; } } } 

Avec nginx, vous n’avez pas besoin de réécriture.

 upstream domain_server { server localhost:8000 fail_timeout=0; } proxy_set_header Host domain.com; proxy_set_header X-forwarded-for $proxy_add_x_forwarded_for; server { listen 80 default_server; location / { proxy_pass http://domain_server/userdomain/$http_host; } } server { listen 80; server_name domain.com; root /var/www/domain.com; location / { try_files $uri @backend; } location @backend { proxy_pass http://domain_server; } } server { listen 80; server_name ~^(?.+)\.domain\.com$; location / { proxy_pass http://domain_server/website/$subdomain$request_uri; } }