Archives quotidiennes :

lighhttpd et traq (ou le rewrite [QSA])

le passage en php7 a été l’occasion de revoir l’installation de traq et à cette occasion je me suis aperçu de dysfonctionnement dans la partie administration. En fait ma règle de rewrite ne passait pas la Query string.
La solution est de mimer le [QSA] d’apache la règle ne s’invente pas …

$HTTP["host"] =~ "^(domain.tld)" {
        url.rewrite-if-not-file = (
          "/traq/([^?]*)(?:\?(.*))?" => "/traq/index.php/$1?$2",
        ),
}

une petite modification est nécessaire aussi pour le bon fonctionnement en php7.0 et pour finir rajouter une méthode manquante dans traq/vendor/traq/controllers/app_controller.php à l’intérieur de la définition de la classe app_controller

   /**
     * Used to display the 404 page.
     */
    public function show_404()
    {
        header("HTTP/1.0 404 Not Found");
        $this->render['view'] = 'error/404';
        $this->render['action'] = false;
    }