… time flies like an arrow. fruit flies like a banana.

Lighttpd, WordPress und die Rewrites

Juni 28th, 2010 Friedemann

Aus aktuellem Anlass will ich hier einmal kurz festhalten, wie man Lighty dazu bringen kann, die vom Apache so heiß geliebten mod_rewrites zu nutzen.
Dadurch, dass Lighttpd nicht in der Lage ist, .htaccess-Dateien zu parsen (die Betonung liegt auf Light) müssen wir die Config des Lightys für die entsprechende Domain anpassen.
Hierzu habe ich die Datei „/etc/lighttpd/conf-enabled/10-simple-vhost.conf“ für die entsprechende Domain wie folgt abgeändert:

$HTTP["host"] == "bananasoft.org" {
        server.document-root = "/var/www/vhosts/bananasoft.org/htdocs/wordpress"
        server.errorlog = "/var/www/vhosts/bananasoft.org/logs/error.log"
        accesslog.filename = "/var/www/vhosts/bananasoft.org/access.log"
        # WordPress Permalinks
        url.rewrite-once = (
                "^/(wp-.+).*/?" => "$0",
                "^/images/.*/?" => "$0",
                "^/temp/.*/?" => "$0",
                # sollten noch weitere Verzeichnisse nicht von der Rewrite-Engine betroffen sein, müssen diese wie die URLs über dieser Zeile aussehen
                "^/(sitemap.xml)" => "$0",
                "^/(xmlrpc.php)" => "$0",
                "^/keyword/([A-Za-z_0-9\-]+)/?$" => "/index.php?keyword=$1",
                "^/.*?(\?.*)?$" => "/index.php$1"
        )
}

Anschließend die Lighty noch mit „/etc/init.d/lighttpd restart“ neu starten und alles sollte gut sein :-).

Sicherlich gibt es auch schönere Beispiele, wie zum Beispiel Christian Schmidt auf einer seiner Seiten zeigt.

Leave a Reply