Saubere b2evolution-URLs mit lighttpd
Steht wahrscheinlich schon oft irgendwo im Internet, aber da ich erst nach ein paar Tagen auf die Lösung gekommen bin:
server.error-handler-404 = "/index.php"
Diese Konfigurationsoption tut das gleiche wie die folgenden Anweisungen für die .htaccess-Datei von Apache (aus der sample.htaccess von b2evo):
RewriteEngine On RewriteCond %{REQUEST\_FILENAME} !-d RewriteCond %{REQUEST\_FILENAME} !-f RewriteRule ^ index.php
Es werden einfach alle Anfragen, die normalerweise einen 404er-Fehler auslösen würden, auf die index.php weitergeleitet, die dann den Request-URI auswertet.
Comment by Daniel Hahler
Die Methode ist clever (und ich hatte sie auch lange Zeit laufen), habe aber nun bemerkt, dass so QUERY_STRING (und andere Sachen) nicht richtig durchgereicht werden.
Das führt dann dazu, dass z.B. der “paged”-Parameter nicht mehr zur Verfügung steht und man keine Tags und Kategorien browsen kann.
Ich habe dazu nun einen Blogeintrag geschrieben (s. Homepage-Link).
Comment by Tblue
Danke, ich habe das gar nicht bemerkt… Allerdings funktionierte dein lua-Script bei mir nicht richtig (liegt vielleicht an meiner Lighty-Config…), ich habe daher ein neues geschrieben (siehe Kommentar bei deinem Blogpost).
Comment by Daniel
Bin nun mittlerweile bei folgenden Script gelandet:
http://www.final-network.de/lighttpd-rewriterule
(allerdings musste ich es noch anpassen, da mein docroot einen Slash am Ende hatte; hab’s dem Autor auch schon mitgeteilt, vielleicht wird es ja mal universeller gemacht.
Comment by Tblue
Ich habe dazu einen Artikel im b2evo-Wiki ( http://manual.b2evolution.net/Appearance_of_my_permalinks ) vervollständigt und eben dieses Script empfohlen (hat noch das Problem mit dem Slash).