Nginx konvertiert Subdomain in Pfadkomponente ohne Umleitung

Die Idee, um eingehende Anfragen zu http://abc.example.com/... und schreiben Sie Sie auf http://example.com/abc/...

Das ist einfach genug zu tun mit 301/302 redirect:

# rewrite via 301 Moved Permanently
server {
  listen 80;
  server_name abc.example.com;
  rewrite ^ $scheme://example.com/abc$request_uri permanent;
}

Der trick ist, das zu tun diese URL ändern transparent an den client, wenn abc.example.com und example.com Punkt in der gleichen Nginx-Instanz.

Anders ausgedrückt, kann Nginx dienen, die Inhalte aus example.com/abc/... wenn abc.example.com/... angefordert und ohne eine weitere client-round-trip -?

Ausgangspunkt Config

Nginx config, führt die Aufgabe mit einem 301:

# abc.example.com
server {
  listen 80;
  server_name abc.example.com;
  rewrite ^ $scheme://example.com/abc$request_uri permanent;
}

# example.com
server {
  listen 80;
  server_name example.com;
  location /{ 
    # ...
  }
}

InformationsquelleAutor der Frage Sebastian Goodman | 2013-01-24

Schreibe einen Kommentar