cakePHP unter Lighttpd

Wie in einem vorherigen Artikel angekündigt, arbeite ich derzeit an einem neuen Projekt.

Für dieses war ich auf der Suche nach einem geeigneten PHP-Framework. Symfonie wäre für das Projekt wahnsinniger Overkill gewesen. Daher entschied ich mich für cakePHP. Es zeichnet sich durch eine äußerst einfache Konfiguration aus. Naja, fast…

Das mag unter dem Apache Webserver stimmen. Sobald man aber Lighttpd (aka „Lighty“) einsetzt wird dies nicht auf Anhieb funktionieren. Ursache ist die nicht vorhandene Unterstützung von „.htaccess“ Dateien (was im Allgemeinen jedoch KEIN Nachteil darstellt). Daraus resultiert, dass eine URL beim Aufruf nicht richtig interpretiert wird, da die in .htaccess enthaltenen Rewrite Rules nicht beachtet werden.

Glücklicherweise kennt Lighttpd auch ein „mod_rewrite“. Damit kann man die Funktion der .htaccess durch folgenden Code nachahmen:

$HTTP["host"] =~ "^(www.)?example.com" {
        server.document-root = "/home/wewewe/example.com/cakePHP/app/webroot/"
        url.rewrite = (
                "(css|files|img|js)/(.*)" => "/$1/$2",
                "^([^?]*)(?(.+))?$" => "/index.php?url=$1&$3",
        )
}

Dieser Code muss an die entsprechende Stelle in der Lighttpd Konfiguration. Genaueres kann ich leider nicht sagen, da dies von Installation zu Installation unterschiedlich ist und ich denke, dass jeder der auf Lighty setzt zumindest eine Ahnung hat, wohin der Codeschnipsel gehört.

Auf jeden Fall muss das Modul „mod_rewrite“ aktiviert sein, also gegebenenfalls die Raute („#“) in der Konfiguration entfernen). Natürlich muss auch der Reguläre Ausdruck für den Host, sowie der „document-root“ angepasst werden.

Dieser Beitrag wurde unter Programmieren abgelegt und mit , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.