Wie kann ich umleiten "http://domain.com." zu "http://domain.com" mit Nginx?Nginx - Redirect Domain Trailing Dot
Was ist die empfohlene Vorgehensweise? Regex oder gibt es andere Möglichkeiten?
Wie kann ich umleiten "http://domain.com." zu "http://domain.com" mit Nginx?Nginx - Redirect Domain Trailing Dot
Was ist die empfohlene Vorgehensweise? Regex oder gibt es andere Möglichkeiten?
Das folgende Snippet macht dies in einer allgemeinen Weise, ohne hart Host-Namen Code (nützlich, wenn Ihre Server-Konfiguration behandelt Anfragen für mehrere Domains). Fügen Sie dies innerhalb jeder Serverdefinition hinzu, die Sie benötigen.
if ($http_host ~ "\.$"){
rewrite ^(.*) $scheme://$host$1 permanent;
}
Dies nutzt die Tatsache, (hingewiesen durch Igor Sysoev) $host
dass die nachlauf muss entfernt DOT, während $http_host
nicht; So können wir den Punkt in $http_host
übereinstimmen und automatisch $host
für die Umleitung verwenden.
Danke, arbeitete perfekt! – user2168809
Verwende 'rewrite^(. *) $ Scheme: // $ host $ 1 permanent;' um das hartcodierte Schema loszuwerden. –
Danke für den Vorschlag (und bearbeiten) @SlavaFominII - viel besser. –
Sie müssen Regex verwenden.
server {
listen 80;
server_name domain.com.WHATEVER, domain.com.WHATEVER-2, domain.com.WHATEVER-3;
rewrite^$scheme://domain.com$request_uri? permanent;
}
Von: http://wiki.nginx.org/HttpRewriteModule
Umleitung - gibt temporäre Umleitung mit Code 302; Es wird verwendet, wenn die Ersatzleitung beginnt mit http: // permanent - gibt permanente Weiterleitung mit Code 301
sehen Sie diesen Beitrag über die Gefahr des nachfolgenden Punktes in der Domäne: http://saynt2day.blogspot.com/2013/03/danger-of-trailing-dot-in-domain-name.html –