Quicktipp: Nginx Rewrite für das unnütze “www”

Weil ich es grade gebraucht habe:
Um die aufgerufene Domain von “www.xyz.de” auf “xyz.de” umzuleiten reicht eine kurze rewrite-Regel in der jeweiligen Config von Nginx.

server {
server_name www.xyz.de;
rewrite ^(.*) http://xyz.de$1 permanent;
}

server {
server_name xyz.de;
#hier folgt ganze der Rest der config
}

Wer sich über Sinn und Unsinn von “www” informieren möchte, kann das auf no-www.org tun.

Update:
Evgeni hat eine noch kürzere Lösung in den Kommentaren gepostet:
if ($http_host != “example.org”) {
rewrite ^ $scheme://example.org$uri permanent;
}

4 Gedanken zu “Quicktipp: Nginx Rewrite für das unnütze “www”

  1. Zwei server-Blöcke? Pleeeaaaaase ;-)

    if ($http_host != “example.org”) {
    rewrite ^ $scheme://example.org$uri permanent;
    }

  2. Sorry, aber das ist gelinde gesagt suboptimal. Selbst das Nginx Wiki rät von solchen Experimenten ab: http://wiki.nginx.org/Pitfalls#Using_If

    Korrekt wäre es so:

    server {
    listen 80;
    server_name http://www.example.org;
    return 301 $scheme://example.org$request_uri;
    }

    server {
    listen 80;
    server_name example.org;
    ## Weitere Konfiguration
    }

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>