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.