NGINX - Rewrite auf Hauptdomain
Erscheinungsbild
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.