Regulärer ausdruck bei modrewrite

splasch

Erfahrenes Mitglied
Hi wie bekomm ich das Sonderzeichen | mit rein in dem Regulären ausdruck.

Die Url umleitung soll nach dem Schema:
index_|1.htm oder index_|55|1.htm
ausehen

PHP:
RewriteEngine On
RewriteRule ^index_\|([0-9]+).htm$ index.php?pos=$1

Es geht also um das | Zeichen ohne dem Zeichen geht dir Umleitung. Wie muß ich den Regulären ausdruck anpassen damit auch die oben genannten Bespiele gehen.

Bwz der Variable soll das dann auch das Schema übergeben werden also
Bsp.
index_|66|1.htm ist gleich dann index.php?pos=|66|1

Ich hoffe ich konnte mich verständlich ausdrücken

Mfg Splasch
 
Das Senkrechter-Strich-Zeichen ist ein Metazeichen und bedeutet alternative Auswahl. Du musst es maskieren, möchtest du es als Zeichen selbst verwenden.
Code:
RewriteRule ^index_\|([0-9]+).htm$ index.php?pos=$1
 
Das hab ich schon versucht nur bekommt ich dann einen Zugriff fehler.
Der Zugriff auf das angeforderte Objekt ist nicht möglich error 403.
Las ich das Meta zeichen weg gehts auch. Nur mit dem Zeichen nicht.

Will im grunde nur das Zeichen für die Variable übergabe für die vielen unterseiten.

So funktionierts
RewriteRule ^index_([0-9]+)\.htm$ index.php?pos=$1
Mit Zeichen fehler 403
RewriteRule ^index_\|([0-9]+)\.htm$ index.php?pos=$1


Hab den Fehler gefunden

Es liegt daran das das | kein gültiger dateinamen zeichen ist werd wohl ein andere als trennzeichen verwenden müssen
Mfg Splasch
 
Zuletzt bearbeitet:
Zurück