Moteur de recherche interne (résolu)

Nouveau WRInaute
Bonjour
je suis en train de développer un petit moteur de recherche interne à mon site, sur lequel j'ai mis en place de l'url rewriting

je souhaiterais donc rewriter recherche.php?recherche=toto en index.php?page=recherche&recherche=toto

j'ai essayé plusieurs règles, mais aucun ne fonctionnent, elles sont simplement ignorées :
Code:
RewriteRule ^recherche.php?recherche=(.+)$ index.php?page=recherche&recherche=$1 [L]
RewriteRule ^recherche.php\?recherche=(.+)$ index.php?page=recherche&recherche=$1 [L]
RewriteRule ^recherche.php.recherche=(.+)$ index.php?page=recherche&recherche=$1 [L]
RewriteRule ^recherche.php[.]recherche=(.+)$ index.php?page=recherche&recherche=$1 [L]
à mon avis le soucis c'est que je n'arrive pas à faire reconnaître le point d'interrogation, ce qui semble logique vu qu'il a une signification propre, mais je ne vois pas comment contourner le problème...
 
Nouveau WRInaute
ca ne fonctionne pas comme ça et je suis persuadé que le problème vient du point d'interrogation.
par exemple avec la règle
RewriteRule ^recherche.phprecherche=(.*)$ index.php?page=recherche&recherche=$1 [L]
j'ai le comportement souhaité en appelant la page recherche.phprecherche=qsdf
le problème c'est que j'utilise un formulaire pour la recherche, et qu'il me renvoie forcément le résultat avec un point d'interrogation au milieu (logique)... l'utilisation d'un formulaire POST résoudrai ce problème, mais il en pose d'autres si l'utilisateur appuie sur la touche page précédente du navigateur...
 
Nouveau WRInaute
OK la réponse était sur WRI https://www.webrankinfo.com/forum/t/formulaire-en-get-fr-joueurs-selection-ron.12759/ :oops:
pour faire simple il ne faut pas chercher à réécrire le point d'interrogation, mais rajouter une clause QSA (Query String Append) :
Code:
RewriteRule ^recherche.php$ index.php?page=recherche [QSA,L]
maintenant quand je demande recherche.php?recherche=toto à mon serveur, il m'affiche la page index.php?page=recherche&recherche=toto
 
Discussions similaires
Haut