Problem mit Backslash

Wie wir alle wissen (sollten) ändert mod_rewrite keine Links im Script. Damit auch die Links auf Deiner Page auf die neuen "Rewrited URLs" zeigen bedarf es der Anpassung im Code. Fragen und Probleme rund um's Coding werden hier diskutiert.

Moderator: Super-Mod

Problem mit Backslash

Beitragvon duderino » 10.04.2006 14:12

Hallo zusammen, hab hier gerade ein kleines Problem mit mod_rewrite.
Ich habe ein PHP Script dass man beliebig tief verschachteln kann.
Der Link sollte in etwa so aussehen:

/hersteller/aristo/uhren/seite.seitenid.seite.html

Dieses Konstrukt "/hersteller/aristo/uhren/" kann beliebig erweitert werden. D.h. es kann auch kürzer sein aber auch noch weiter gehen.
Ich will nur die letzten Eigenschaften "seite.seitenid.seite.html" auslesen. seitenid und seite. Die beiden Wert sind immer eine zahl.

Meine Regel sieht so aus:

RewriteRule ^(.*).([a-z0-9_-]+).([a-z0-9_-]+).html$ index.php?id=$2&seite=$3

Leider funktioniert das nur wenn der Link keinen Backslash beinhaltet. Sobald man weiter verschachtelt werden falsche parameter weitergegeben. Muss ich da irgendeine besondere Auszeichnung benutzen?

Grüße
duderino
duderino
.
.
 
Beiträge: 4
Registriert: 10.04.2006 14:08

Beitragvon duderino » 10.04.2006 15:07

Hab bemerkt dass es bei einstelligen Zahlen funktioniert. Wenn die ID allerdings zweistellig wird, benutzt das Script immer nur die letzte Zahl. Bei 32 z.B. nur die 2.
duderino
.
.
 
Beiträge: 4
Registriert: 10.04.2006 14:08

Beitragvon Bob » 10.04.2006 17:56

-> Punkte haben in der RegEx eine spezielle Bedeutung, sie müssen daher escaped werden, wenn der Punkt ein Punkt als solcher seien soll. Wenn du sowieso nur das Ende benötigst - verkompliziere nicht unnötig die RegEx.

Code: Alles auswählen
RewriteRule \.([a-z0-9_-]+)\.([a-z0-9_-]+)\.html$ /index.php?id=$1&seite=$2 [L]


Die beiden Wert sind immer eine zahl
Warum lässt du dennnoch andere Zeichen zu?

Grüße
Robert
Bob
Moderator
Moderator
 
Beiträge: 5044
Registriert: 01.10.2004 13:10


Zurück zu Programmierung & Scriptanpassung für mod_rewrite

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste

cron