[Lösung] lighttpd: www-Redirect und Rewrite-Problem
Donnerstag, 26. August 2010 - 15:25 Uhr
Bei mir aufm V-Server läuft nicht Apache, sondern mit lighttpd ein kleiner, schneller Webserver. Der verrichtet seine Dienste auch wunderbar schnell und fehlerfrei, ist allerdings in der Konfiguration etwas hakelig. Möchte man eine Umleitung von meinedomain.de auf www.meinedomain.de haben, sieht der Codeschnipsel dafür normalerweise so aus:
$HTTP["host"] =~ "^(meinedomain\.de|www\.meinedomain\.de)$" {
$HTTP["host"] =~ "^([^.]+\.[^.]+)$" {
url.redirect = (
"^/(.*)$" => "http://www.%1/$1"
)
}
...
}
Das klappt auch ganz wunderbar, außer man hat eine zusätzliche rewrite-Rule, die auch alle Pfade fängt. Das passiert beispielsweise, wenn man versucht, alles auf die index.php zu schicken, um von dort die Inhaltswiedergabe zu steuern. Im obigen Beispiel sieht das so aus:
$HTTP["host"] =~ "^(meinedomain\.de|www\.meinedomain\.de)$" {
$HTTP["host"] =~ "^([^.]+\.[^.]+)$" {
url.redirect = (
"^/(.*)$" => "http://www.%1/$1"
)
}
url.rewrite-once = (
"^/(.*)" => "index.php?p=$1"
)
...
}
Das Problem: Bei lighttpd geht rewrite vor redirect. Das heißt, beim Aufruf von meinedomain.de (ohne www) greift die Rewrite und der Aufruf wird intern an index.php geleitet. Die redirect-Regel wird nicht ausgeführt! Die Domain bleibt ohne www stehen.
Die Lösung: Einfach die beiden Blöcke trennen. Alle Hosts, die nur weitergeleitet werden sollen, bekommen ihren eigenen Konfigurations-Teil. Das sieht dann so aus:
$HTTP["host"] =~ "^(meinedomain\.de)$" {
$HTTP["host"] =~ "^([^.]+\.[^.]+)$" {
url.redirect = (
"^/(.*)$" => "http://www.%1/$1"
)
}
}
$HTTP["host"] =~ "^(www\.meinedomain\.de)$" {
url.rewrite-once = (
"^/(.*)" => "index.php?p=$1"
)
...
}
Ich hoffe, das hilft jemandem, ich habe mich eben gewundert, warum der redirect nicht so funktioniert, wie er soll
loading...
Ähnliche Beiträge
- Partnerprogramm-Links verstecken 13. September 2008
- HTTP/1.1 301 Moved Permanently 1. September 2007
- [PHP] Umlaut-Domain Darstellung von Punycode in “normale” Umlaute konvertieren 28. November 2011
- [Lösung] QIP: ICQ Problem mit veralteter Protokoll-Version 12. Oktober 2010
- thesixtyone – Problem im Firefox durch Add-on 8. Juli 2011

Hey, hier bloggt Jan Papenbrock. Er studiert Wirtschaftsinformatik an der Uni Münster. Nebenbei erstellt er Webseiten und interessiert sich für SEO.