Wie kann ich mydomain.com
und jede Subdomain *.mydomain.com
zur www.adifferentdomain.com
Verwendung von NGINX umleiten ?
136
Servername unterstützt Suffix-Übereinstimmungen mit der .mydomain.com-Syntax:
server {
server_name .mydomain.com;
rewrite ^ http://www.adifferentdomain.com$request_uri? permanent;
}
oder auf einer Version 0.9.1 oder höher:
server {
server_name .mydomain.com;
return 301 http://www.adifferentdomain.com$request_uri;
}
listen
Direktive verwendet standardmäßig Port 80, wenn nichts angegeben ist. Es ist tatsächlich etwas komplizierter als das im Allgemeinen; Weitere Informationen finden Sie in den Nginx-Konfigurationsdokumenten .?
am Ende?rewrite
undreturn 301 $scheme://www.adifferentdomain.com$request_uri;
?$request_uri
die Abfragezeichenfolge bereits vorhanden ist, muss sie nicht erneut angehängt werden. Diereturn 301
Syntax ist neuer und es sollte keinen Unterschied im Verhalten zwischen den beiden Methoden geben, aber als ich diese Frage ursprünglich beantwortete, hatten viele Distributionen nicht die erforderliche Version, also habe ich mich für die sicherere Syntax entschieden.http://wiki.nginx.org/HttpRewriteModule#return
und
http://wiki.nginx.org/Pitfalls#Taxing_Rewrites
quelle
Warum das Rewrite-Modul verwenden, wenn Sie können
return
? Technisch gesehenreturn
ist es Teil des Rewrite-Moduls, wie Sie hier lesen können, aber dieses Snippet ist imho einfacher zu lesen.Sie können ihm auch eine 301-Weiterleitung geben.
quelle
return 302 $scheme://forwarded-domain.com$request_uri;
Das sollte über HTTPRewriteModule funktionieren .
Beispielumschreibung von www.example.com auf example.com:
quelle
server_name example.com www.example.com;
.Wenn Sie Anforderungen für "domain1.com" an "domain2.com" umleiten möchten, können Sie einen Serverblock erstellen, der folgendermaßen aussieht:
quelle
listen 443;
Temporäre Weiterleitung
Permanente Weiterleitung
In der Nginx-Konfigurationsdatei für eine bestimmte Site:
quelle
Sie können einfach eine if-Bedingung in den Serverblock {} schreiben:
quelle