NGINX: Subdomains umschreiben

10.09.2011 yahe administration legacy linux windows

Derzeit bin ich dabei, einfach konfigurierbare Domains nach NGINX umzuziehen. Heute war eine Domain darunter, die 1:1 auf eine andere Domain verweist. Dazu gehören auch die entsprechenden Subdomains. Leider fehlen der Rewrite-Sprache von NGINX hier und da ein paar Fähigkeiten wie verschachtelten IF-Blöcke und logischen Verknüpfungen in IF-Abfragen, um so etwas elegant zu lösen. Aus diesem Grund bin ich nun zu folgender Lösung gekommen, um Domains mitsamt ihrer Subdomains umzuleiten:

server {
  listen      80;
  server_name .example.com;

  set $subdomain "www";
  if ($host ~* "^(.*)\.example\.com$") {
    set $subdomain $1;
  }
  rewrite ^(.*)$ $scheme://$subdomain.example.net$1 break;
}

Der Server-Name mit vorangestelltem Punkt sorgt dafür, dass der Server-Block sich um alle Example.com-Hosts inklusive sämtlicher Subdomains kümmert. Anschließend setzen wir eine Variable "$subdomain" auf den Default-Wert "www". Im Anschluss wird geprüft, ob der Domain eine Subdomain vorangestellt ist. Falls ja, wird die Variable $subdomain auf den Namen dieser Subdomain gesetzt. Abschließend wird ein Redirect durchgeführt und der gespeicherte Subdomain-Wert dabei mit berücksichtigt.


Search

Categories

administration (40)
arduino (12)
calcpw (2)
code (33)
hardware (16)
java (2)
legacy (113)
linux (27)
publicity (6)
review (2)
security (58)
thoughts (21)
windows (17)
wordpress (19)