Platzhalter-Weiterleitung von WWW zu Nicht-WWW nginx

Platzhalter-Weiterleitung von WWW zu Nicht-WWW nginx

Ich möchte den gesamten Datenverkehr umleiten von

www.*.*.<gTLD> Zu *.*.<gTLD>

Wenn möglich, würde ich das gerne außerhalb des Blocks tun, der die Anwendung bedient. Dieser Block verwendet kein a, server_nameda er auf über 5.000 Hostnamen in derselben App lauscht.

Haben Sie eine Idee, wie das geht? Alle Beispiele, die ich finde, gelten nur für benannte Hosts....

Danke

Antwort1

serverSie können einen Block mit einem regulären Ausdruck definieren server_name. Beispiel:

server {
    server_name ~^(www\.)(?<domain>.+)$;
    return 301 $scheme://$domain;
}

Sehendieses Dokumentfür mehr.

Antwort2

Mit der Hilfe von @Richard Smith kam ich zu folgendem Ergebnis:

server {
    server_name ~^(www\.)(?<domain>.+\..+\..+)$;
    return 301 $scheme://$domain;
}

Es funktioniert gut :-)

verwandte Informationen