PHP5 Fat Free Framework et Lighttpd

Le lun. 21 mars 2011 par Kasey

J'essaye depuis quelques jours le framework : "Fat Free Framework". Ce dernier possède pas mal des attributs qui me plaisent dans webpy comme par exemple la déclaration d'un système de route lié pour chaque ressource a une classe. Cependant problème : ayant bannis depuis longtemps l'éléphant susnommé apache2 j'ai du trouver un moyen d'adapter le fichier de directives d'url rewriting tout fait d'apache pour lighttpd.

Fichier pour apache

Comme vous pouvez le voir ci-dessous le fichier est tres basique :

# Enable rewrite engine and route requests to framework
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L,QSA]

[...]

Solution

Apres quelques recherches et en me basant sur la méthode décrite dans mon [http://kasey.fr/article/Ancien-Blog|premier billet], voila la configuration lighttpd a utiliser :

server.modules = (
            "mod_alias",
            "mod_compress",
            "mod_rewrite",
            "mod_fastcgi"
}

alias.url = (
        "/img"    => "/var/www/root/img/",
        "/css"    => "/var/www/root/css/",
        "/js"     => "/var/www/root/js/",
      )

url.rewrite-once = (
         "^(/img.*)" => "$1",
         "^(/css.*)" => "$1",
         "^(/js.*)"  => "$1",
         "^/([^.]+)$" => "/index.php?$1"
       )

fastcgi.server = (".php" => ((
                     "bin-path" => "/usr/bin/php5-cgi",
                     "socket" => "/tmp/php.socket"
                 ))
     )

Note

Cette directive passe les url a php sous la forme suivante :

[REDIRECT_URI] => /index.php?about

Sources