Contao und lighttpd / rewrite
Dienstag, 22. Juli 2008 | Autor: Torsten
Wenn man sein Typolight für Suchmaschinen etwas schicker gestalten möchte, klickt man im Backend bei den Einstellungen das Häkchen “URLs umschreiben” an:
Mit dieser Option können Sie TYPOlight dazu veranlassen, statische URLs ohne “index.php” zu erzeugen (z.B. alias.html anstatt index.php/alias.html). Dieses Feature benötigt das Apache Modul mod_rewrite!
Da ich den Apache nicht mehr benutze, musste ich meine Lighttpd-Konfiguration folgendermaßen anpassen:
url.rewrite-final = (
"^/typolight/(.*)$" => "$0",
"^/(.*\.php)" => "$0",
"^/(.*\.html)$" => "/index.php",
)
Damit läuft’s!
Update am 23. September 2011:
Mittlerweile heißt das CMS nicht mehr Typolight, sondern Contao. Ich habe es gerade mit einer frischen Installation und folgenden Rewrite-Rules getestet – das Ergebnis hier: http://contao.misterfu.de/
url.rewrite-final = (
"^/(contao|stats|typolight|javascript|system|images|plugins|tl_files)/(.*)$" => "$0",
"^/(.*\.css|.*\.xml|.*\.php)" => "$0",
"^/(.*)$" => "/index.php$0",
"^/(.*\.html)" => "/index.php",
)


Nice one!
Are you planning to improve that rule in a near future?
Altho it works for basic rewrite operation, it still fails when calling pages without extensions or when passing out arguments such as the search engine…
Here’s what I came up with… might not be that clean but works perfectly.
url.rewrite-final = (
“^/(typolight|system/|plugins|tl_files)/(.*)$” => “$0″,
“^/(.*\.css|.*\.xml|.*\.php)” => “$0″,
“^/(.*)$” => “/index.php$0″,
“^/(.*\.html)” => “/index.php”,
)
Thanks Yoan!
The trailing slash behind “system” is needless, isn’t it?
I just had to add “images” and “javascript” to the list of folders because I use them for additional images / scripts. It’s probably better to put these folders into system/.
Danke! Nun wag ich den Umstieg
Hallo!
Ich habe mit der Regel unter Contao meine Probleme!
Ich habe beide Versionen, mit Ersetzung Typolight -> Contao in die lighttpd.conf eingetragen. Sowohl im BE als auch im FE werden die umgeschriebenen Links nicht weitergereicht.
Gibt es da eine andere Lösung?
Hallo Thomas!
Ich habe den Blog-Eintrag noch einmal aktualisiert. Bei mir funktionierte es mit den o.g. Regeln in einer Standard-Installation. Ich habe im Backend nur das Häkchen bei “URLs umschreiben” gesetzt.
Viele Grüße,
Torsten