adminForge

free | no tracking | no logging | no advertising

Das ist unser Motto. Mit adminForge bieten wir kostenlose Dienste an. Unser Ziel ist es, eine freie und datensparsame Alternative zu bekannten Diensten bereitzustellen. Seit 2014 betreiben wir adminForge gemeinsam mit Spaß an der Technik und an Open-Source.

Varnish Weiterleitung non-WWW auf WWW

Alleine für SEO sollte man sich für eine Variante seiner Webseite entscheiden, WWW oder non-WWW. In Varnish bildet man dies wie folgt ab.

Punkt 1: Varnish 3.0

Fügt folgenden Code in eurer /etc/varnish/default.vcl hinzu und ersetzt DOMAIN.de mit eurer Domain.

sub vcl_recv {

        # Redirect non-WWW to WWW
        if (req.http.host == "DOMAIN.de") {
                set req.http.host = "www.DOMAIN.de";
                error 750 "http://" + req.http.host + req.url;
        }
}

sub vcl_error {

        # Redirect non-WWW to WWW
        if (obj.status == 750) {
                set obj.http.Location = obj.response;
                set obj.status = 301; return(deliver);
        }
}

Punkt 2: Varnish 4.0

Fügt folgenden Code in eurer /etc/varnish/default.vcl hinzu und ersetzt DOMAIN.de mit eurer Domain.

sub vcl_recv {
 
        # Redirect non-WWW to WWW
	if (req.http.host ~ "^DOMAIN.de") {
		return (synth (750, ""));
	}
}
 
sub vcl_synth {
 
        # Redirect non-WWW to WWW
	if (resp.status == 750) {
		set resp.status = 301;
		set resp.http.Location = "http://www.DOMAIN.de" + req.url;
		return(deliver);
	}
}

Punkt 3: Reload und Überprüfung

Nach einem Reload von Varnish werden die Änderungen übernommen.

/etc/init.d/varnish reload

Das Ergebnis sollte wie folgt aussehen.

curl -I http://DOMAIN.de/de/kontakt

HTTP/1.1 301 http://www.DOMAIN.de/de/kontakt
Server: Varnish
Location: http://www.DOMAIN.de/de/kontakt
Date: Tue, 18 Nov 2014 09:19:11 GMT
Connection: close
X-Cache: MISS