Rewrite Rules unter Lighttpd

skydrak

Member
Hallo,

leider bin ich mit meinem Latein nun am Ende. Ich habe versucht ehemals Apache-Rewrite Rules für Lighttpd umzuwandeln.

Die Apache regeln lauteten:

Code:
RewriteEngine On
RewriteBase /

RewriteRule ^index.html$ index.php [L]
RewriteRule ^news_archiv.html$ index.php?file=home&archiv [L]
RewriteRule ^lexikon_search_(.*).html$ index.php?file=lexikon&search=$1 [L]
RewriteRule ^lexikon_descr_(.*).html$ index.php?file=lexikon&descr=$1 [L]
RewriteRule ^lexikon_(.*).html$ index.php?file=lexikon&cat=$1 [L]
RewriteRule ^artikel,([^,]+),([0-9]+)(\.html?)$ index.php?file=artikel&name=$1&p=$2 [L]
RewriteRule ^(.*).html$ index.php?file=$1

So sehen die Regeln jetzt unter Lighttpd aus:

Code:
url.rewrite = (
"^index.html$" => "index.php",
"^news_archiv.html$" => "index.php?file=home&archiv",
"^lexikon_search_(.*).html$" => "index.php?file=lexikon&search=$1",
"^lexikon_descr_(.*).html$" => "index.php?file=lexikon&descr=$1",
"^lexikon_(.*).html$" => "index.php?file=lexikon&cat=$1",
"^artikel,([^,]+),([0-9]+)(\.html?)$" => "index.php?file=artikel&name=$1&p=$2",
"^(.*).html$" => "index.php?file=$1"
)

Jedoch funktioniert nur die erste und die letzte Regel. Die anderen leider nicht. Kann mir vielleicht jemand helfen?

Grüße,

Pascal
 
Ich könnte mir vorstellen das es an der rewritebase liegt, die der lighttpd ja als eigenständigen Befehl nicht hat, also musst du ihn selbst mit angeben (/). So z.B. "^/news_archiv.html$" => "/index.php?file=home&archiv", Versuche am besten immer nur 1 Rule zu finalisieren und dann mit der nächsten weiter zu machen. Erst am ende alle zusammen legen!
 
Back
Top