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