2009-04-15 17 views
3

Ich brauche eine Reihe von frischen Augen auf diese. Mir fällt es schwer, das Problem zu erkennen.URL Rewriting/Regex Debug

In Ordner X Ich habe eine .htaccess-Datei mit den folgenden zwei Zeilen in ihm:

RewriteEngine on 
RewriteRule ^([A-Za-z0-9\.-]+)/?$ item-display.php?bibid=$1 [NC,L] 

Meine Interpretation ist, dass alles, was in diesem Verzeichnis wird dann auf die Artikel-Display-Seite umgeleitet werden. Das Problem besteht darin, dass auf der Seite der Artikelanzeige der Wert von bibid den Anzeigewert "output" ausgibt. Also irgendwie aus mir Umleiten: http://localhost/test/cat/item/14056a zu: http://localhost/test/cat/item/item-display.php?bibid=item-display

Irgendwelche Ideen?

Prost

Antwort

5

Sie müssen die Datei ausschließen Sie umleiten wie auch durch das Muster abgestimmt ist:

RewriteCond %{REQUEST_URI} !/item-display\.php$ 
RewriteRule ^([A-Za-z0-9\.-]+)/?$ item-display.php?bibid=$1 [L] 
+0

Eigentlich ist das sicherer als meins, denke ich :) – BYK

+0

Das macht Sinn und funktioniert wie ein Zauber! –

1

Versuchen Sie, diese

RewriteEngine on 
RewritePath /test/cat/item 
RewriteRule ^([A-Za-z0-9\.-]+)/?$ item-display.php?bibid=$1 [L] 

Ich denke, das Problem ist, dass es auf der ganzen URL und nicht nur das letzte Element-ID-Teil sucht.

+0

sehen aktualisiert Antwort –

+0

Ich glaube, du bist nach RewriteBase ... es ist nicht zu ändern, erscheint die Ergebnisse aber. Ruft die richtige Seite auf und denkt dann, dass bibid auf 'display-item' gesetzt ist. Ich lese gerade in RewriteBase und hoffe, etwas in den Dokumenten zu finden. –

1

Die Anfrage wird sub-verarbeitet, so dass ich den Dateinamen der neu geschriebenen URL entscheide. Versuchen Sie, die NS-Flagge hinzuzufügen.