:::: MENU ::::

WebDevExp

Meine Erfahrungen in der Webentwicklerwelt

lighttpd: Alle Subdomains auf www.domain.tld umleiten

Webserver

lighttpd: Alle Subdomains auf www.domain.tld umleiten

Ich stand vor kurzem vor dem Problem, das alle Subdomains, die ein Benutzer eingeben könnte, auf www.example.com umleiten sollten.

Aus Googlesicht ist das gut, weil so doppelter Inhalt vermieden wird und für den Benutzer ist es einfach schöner.

Im Internet habe ich einige Beispiele gefunden, wie man www.example.com auf example.com und umgekehrt umleitet, aber keine generelle Lösung. Die Hostdefinition matcht *example.com und *.example.de, weitere sind ohne weiteres möglich.

$HTTP["host"] =~ "^(.*example\.(com|de)$" {
        server.document-root = "/var/www/example.com"
        server.error-handler-404 = "/index.php"
 
        $HTTP["host"] !~ "^(www\.(.*)\.(.*))$"{  #nur wenn es nicht schon www. ist
                $HTTP["host"] =~ "^(.*)\.(.*)\.(.*)$" {   #falls es sich um xxx.*.* handelt
                        url.redirect = ( ".*" => "http://www.%2.%3" )
                }
                $HTTP["host"] =~ "^([^.]*)\.([^.]*)$" {    #falls es sich um *.* handelt (ohne Subdomain)
                        url.redirect = ( ".*" => "http://www.%1.%2" )
                }
 
        }
}

Will man nun noch forum.example.de (nur die .de Variante) erlauben, muss man diese Expression „^(www\.(.*)\.(.*))$“ auf „^(www\.(.*)|forum\.example\.de)$“ abändern.

Leave a comment

Loading Facebook Comments ...