Aller au contenu

pb de réécriture d'url - aide demandée


Sujets conseillés

Salut,

je veux transformer l'url:

produit_ok_456.php

dans laquelle 456 est ma partie variable, en:

produit_ok.php?produit=456

j'ai écris la règle:

RewriteRule ^produit_ok_([0-9]+)\.php$ produit_ok.php?produit=$1 [L]

mais elle ne fonctionne pas... :angry:

slender

Lien vers le commentaire
Partager sur d’autres sites

Essaie en supprimant le ^ du début de ta règle... parce que ton URL comprend peut être un / au début ;)

RewriteRule produit_ok_([0-9]+)\.php$ produit_ok.php?produit=$1 [L]

Si cette règle fonctionne, tu peux aussi la remplacer par

RewriteRule ^/?produit_ok_([0-9]+)\.php$ produit_ok.php?produit=$1 [L]

Lien vers le commentaire
Partager sur d’autres sites

Salut dan,

merci de ta réponse rapide,

La règle est bonne mais (pour une autre raison X?) elle ne marche pas dans le dossier où je travaille.

J'ai testé au niveau de la racine du site, la règle réécrit correctement et ça marche, la même règle dans le dossier où j'ai les fichiers à trouver ne marche pas...

Lien vers le commentaire
Partager sur d’autres sites

C'est logique :

Si ta page se trouve à l'emplacement monsite.com/rep/produit_ok_456.php, elle sera réécrite en monsite.com/produit_ok.php?produit=456, qui n'existe pas.

Si le répertoire est fixe, tu peux réécrire la règle comme suit :

RewriteRule rep/produit_ok_([0-9]+)\.php$ rep/produit_ok.php?produit=$1 [L]

Lien vers le commentaire
Partager sur d’autres sites

De plus, si dans ce répertoire tu as besoin des règles écrites au niveau supérieur, n'oublie pas de mettre :

RewriteOptions Inherit

Dans le cas contraire, une seule règle remplacerait toutes les règles du niveau supérieur.

Lorsque tu dis "la règle ne marche pas", tu as quoi comme erreur ? 404 ? 500 ? autre ?

Lien vers le commentaire
Partager sur d’autres sites

bsr;

Si ta page se trouve à l'emplacement monsite.com/rep/produit_ok_456.php,

C'est exactement le cas. J'avais cependant résolu le problème en mettant la règle donnée par Dan dans un premier temps, directement dans le répertoire en cause avec un résultat correct, le visiteur à qui je destinais le document après paiement paypal trouvait son document qui avait été libéré du paiement en table.

A votre avis dois-je me contenter de ce résultat ou mettre la règle que tu me donnes dans un second temps au niveau du htaccess à la racine ou bien rester avec la première régle au niveau du répertoire. Unification?

Dan, je récupérais une 404, ce qui est logique car il ne trouvait pas la page comme le décrit captain_torche.

Merci en tout cas :)

slender

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...