Aide réécriture url

Nouveau WRInaute
Bonjour,
j'ai consulté les autres post mais sans pouvoir résoudre mon problème...

mon url (réelle) :

/panier.php?action=add&ref=mar1&category=marionnettes&page=marionnettes/marionnettes-1&description=Marionnette%20z%E8bre%20%E0%20main

(je sais, c'est pas très propre, mais ça va évoluer...)

ma règle de réécriture :

RewriteRule ^panier-(.*)-(.*)-(.*)-(.*)-(.*)\.php$ /panier.php?action=$1&ref=$2&category=$3&page=$4&description=$5 [L]

et éssayé aussi :

RewriteRule ^panier-([:alnum:])-([:alnum:])-([:alnum:])-([:alnum:]/_)-([:alnum:]%)\.php$ /panier.php?action=$1&ref=$2&category=$3&page=$4&description=$5 [L]

J'ai éssayé beaucoup de parametrages différents sans aboutir...
vous avez une idée ?

je précise le problème : il ne se passe rien...

merci
 
WRInaute occasionnel
Peux tu donner l'URL rewrité et ça version non rewrité.

Ta première règle à l'air, à première vue, syntaxiquement juste ce qui n'est pas le cas de la deuxieme.

Quand tu dit qu'il ne se passe rien ... peux tu etre plus précis (tu veux dire que tu reste sur la même page ?)
 
Nouveau WRInaute
merci magic pour ta réponse.
je souhaite que ces variables deviennent des mots clé pour mes url.
l'url ne change pas et n'est pas accessible sur une "reconstruction" manuelle de la page (en faisant le boulot du .htaccess)
(réécriture de l'url).
le problème réside peut-être dans le "/" qui est passé en variable -- nom de chemin.
à la réécriture, il passe comme un sous-répertoire normal de l'url...et ça fout la zone...

bref, il va certanement falloir revoir toute cette organisation des variables je crois...

je câle...

thanxs ;-)
 
WRInaute occasionnel
Je pense que le problème dois venir de la valeur -> "marionnettes/marionnettes-1" car tu as un tiret dedant et que c'est aussi le séparateur de tes paramettres donc la règle s'embrouille ... ça peux aussi être le "/" mais je ne peux pas confirmer.

Il faudrait faire des tests avec et sans le tiret et le "/" pour voir.
 
Nouveau WRInaute
attends magic, une petite chose que je ne comprend pas :
je fais un test sur une page 'test' que je viens de créer :

test.php

une regle : RewriteRule ^test-(.*)-(.*)\.php$ /test.php?var1=$1&var2=$2 [L]

je passe l'url suivante dans mon butineur :

test.php?var1=bonjour&var2=madame

et j'obtiens ma page sous l'url : test.php?var1=bonjour&var2=madame

mais alors, question d'un âne que je suis : à quoi sert le rewritting ??

j'ai testé la page test-bonjour-madame.php et c'est accessible...mais un moteur de recherche ne verra que test.php?var1=bonjour&var2=madame.

??

je n'y comprend pas grand chose....
quelqu'un peut-il m'éclairer

je note : le but recherché est de transformer ces url indegestes en url 'lisibles' non ???
 
WRInaute occasionnel
C'est toi qui doit modifier ton script PHP pour que tu n'aye plus d'URL de cette forme : test.php?var1=bonjour&var2=madame mais uniquemqent de cette forme : test-bonjour-madame.php

Exemple :
Actuelement tu dois avoir des lien HTML de ce style :
Code:
...
<a href="test.php?var1=bonjour&var2=madame">Bonjour madame</a>
...
A toi de modifier ton code PHP et/ou HTML pour qu'ils ressemble à ça :
Code:
...
<a href="test-bonjour-madame.php">Bonjour madame</a>
...
 
WRInaute discret
Salut,

Le but recherché est de taper "test-bonjour-madame.php" dans l'url et que ce soit le code de la page "test.php?var1=bonjour&var2=madame" qui s'affiche (avec toujours "test-bonjour-madame.php" dans ton url...)
Tu dois donc faire en sorte que tous tes liens pointent vers ces url 'lisibles' et que le htaccess transforme ces url 'lisibles' en url qui existent sur le serveur..

[edit] Trop lent... :?
 
Nouveau WRInaute
ok, merci à vous, je pense avoir compris l'éssentiel.
je vais revoir toute ma façon de nommer mes pages (j'en ai près de 500 à refaire... ;-)
 
Discussions similaires
Haut