NGINX - Rewrite auf Hauptdomain

Aus Laub-Home Wiki

Möchte man in einer vhost Konfiguration immer auf die Hauptdomain umleiten, so ging dies im Apache mittel einer Rewrite Condition RewriteCond:

ServerName www.primary.tld
ServerAlias www.secondary.tld

RewriteCond %{HTTP_HOST}   !^www\.primary\.tld [NC]
RewriteCond %{HTTP_HOST}   !^$
RewriteRule ^/(.*)         http://www.primary.tld/$1 [L,R=permanent]

will man das gleiche im NGINX machen, muss man auf eine if Abfrage zurückgreifen:

server_name www.primary.tld www.secondary.tld;

    if ($host != $server_name) {
        rewrite ^/(.*) $scheme://$server_name/$1 permanent;
    }

Was passiert hier?
$server_name zeigt auf den primären Server Namen, welches der erste Server Name der server_name Richtlinie ist, während $host auf den Hostnamen des HTTP request zeigt.
Kommt also ein Request auf die Domain www.secondary.tld, wird dieser automatisch auf www.primary.tld umgeleitet.

Quellen