2009-04-15 7 views
3

J'ai besoin d'un ensemble de nouveaux yeux à ce sujet. J'ai du mal à repérer le problème.Réécriture d'URL/Regex Debug

Dans le dossier X J'ai un fichier .htaccess avec les deux lignes suivantes dans le:

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

Mon interprétation est que tout dans ce répertoire sera alors redirigé vers la page élément-écran. Le problème est que sur la page d'affichage des articles, l'écho de la valeur des sorties bibid 'display-item'. Donc, en quelque sorte, je suis redirigeant de: http://localhost/test/cat/item/14056a à: http://localhost/test/cat/item/item-display.php?bibid=item-display

Toutes les idées?

Vive

Répondre

5

Vous devez exclure le fichier que vous redirigez comme cela est également correspondants au modèle:

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

En fait, c'est plus sûr que le mien, je pense :) – BYK

+0

Cela prend tout son sens et fonctionne comme un charme! –

1

Essayez cette

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

Je pense que le problème est qu'il est à la recherche à l'URL complète et non pas seulement le dernier élément partie ID.

+0

voir mise à jour réponse –

+0

Je pense que vous êtes après RewriteBase ... il ne semble pas changer les résultats cependant. Retourne à la bonne page, puis pense que bibid est défini sur 'display-item'. Je lis dans RewriteBase en espérant trouver quelque chose dans les docs. –

1

La requête est sous-traitée de sorte qu'elle extrait la partie de nom de fichier de l'URL réécrite que je présume. Essayez d'ajouter le drapeau NS.