Anzeige: 

Schwede.de - Motorsport-Fotos Online

MODx: Benutzerfreundliche URLs mit Lighttpd

MODx funktioniert mit Lighttpd prima. Allerdings muß man MODx unter Lighttpd zunächst ohne benutzerfreundliche URL betreiben. Wir zeigen, wie auch benutzerfreundliche URLs kein Problem sind.

Seit vielen Jahren dominiert der Webserver „Apache“ die Ranglisten der Webserver. Unangefochten liegt der Platzhirsch seit gut 10 Jahren auf Platz 1, der von Netcraft geführten Statistik. Doch gerade Internetschwergewichte wie YouTube oder Wikimedia wenden sich zunehmend vom Marktführer ab.

Sie setzen bei vermehrt auf Lighttpd. Denn dieser Webserver, der auf der Studienarbeit eines Kieler Studenten basiert, belastet CPU und Arbeitsspeicher weniger als der Indianer. Mit dieser – im Vergleich zum Apache – höheren Effizienz ist Lighttpd optimal für den Einsatz auf einem Server mit beschränkten Ressourcen, wie zum Beispiel einem typischen V-Server.

MODx mit Apache kann jeder! Doch Lighttpd geht genauso gut!

Auch unser Lieblings-CMS MODx funktioniert mit Lighttpd prima. Allerdings muß man sein MODx unter Lighttpd zunächst ohne benutzerfreundliche URL betreiben. Denn Lighttpd kann mit der mitgelieferten .htaccess nichts anfangen. Der fixe Server wird vollständig über die zentrale Konfigurationsdatei gesteuert, die auf unserem Ubuntu-System unter /etc/lighttpd/lighttpd.conf gespeichert ist.

Für den Betrieb mit benutzerfreundlichen URLs muss auch Lighttpd zunächst ein "mod_rewrite" genanntes Modul aktivieren.

... server.modules = ( "mod_rewrite", ...

Anschließend benötigen wir für unseren Auftritt eine Rewrite-Anweisung. Diese könnte für unseren angenommenen Testserver „sylt.inselwelt.loc“ wie folgt aussehen:

# Musterauftritt sylt.inselwelt.loc $HTTP["host"] == "sylt.inselwelt.loc" { server.document-root = "/srv/sylt/www/" url.rewrite-once = ( "^/(assets|manager)/(.*)$" => "/$1/$2", "^/(?!index(?:-ajax)?\.php)(.*)\?(.*)$" => "/index.php?q=$1&$2", "^/(?!index(?:-ajax)?\.php)(.*)$" => "/index.php?q=$1" ) accesslog.filename = "/srv/log/sylt_access.log" server.errorlog = "/srv/log/sylt_error.log" }

Nach einem Restart des Lighttpd sollte der Webserver jetzt auf sylt.inselwelt.loc reagieren und die mit MODx betriebene Webseite mit benutzerfreundlichen URLs ausliefern.

/etc/init.d/lighttpd restart