Réponse acceptée !
Salut,
Les regex, c'est le pied intégral.
Concernant la redirection avec le mod rewrite, personnellement, je n'ai pas pu le faire ailleurs que dans le fichier httpd.conf ou dans le vhost du site. Pas dans le .htaccess
Je pense donc que ta regex est correcte, si tu y mets un \ devant ton ? (pour l'échapper, comme tu l'as compris).
Chez moi, c'est comme ça que ça se passe. Sur une Ubuntu 7.10 et sur une Gentoo 2006, toutes les deux avec Apache 2.2
RewriteRule ^/recherche.php(.*) controllers/search.php$1 [NC,R,L]
Testé et approuvé : dans le fichier de configuration du vhost, ça marche. Dans le httpd.conf, aussi, forcément. Dans le .htaccess par contre, ça fait rien du tout...
Je ne sais pas si c'est normal ou pas... Je suppose que oui... Je n'ai encore rien trouvé dans la doc d'Apache qui parle de ça : a priori, aucune limitation... sauf que dans les faits...
en revanche la ou ca bloque mechamment c'est pour faire la meme chose a partir de la value d'un select, je valide mon formulaire et l'url generée est sytematiquement du type "cible.php?value=xxxx".
Et pourquoi pas :
<form method="GET" action="">
</form>
D'après la spécification XHTML 1.1, l'attribut action de la balise form ( http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_extformsmodule ) doit prendre une URI valide. D'après la RFC2396 une URI peut être vide :
4.2. Same-document References
A URI reference that does not contain a URI is a reference to the
current document.
Donc si tu ne mets rien, c'est a priori valide (bon faut passer au validateur pour s'en assurer, ce que je n'ai pas fait). Alors faut voir où se trouve ton formulaire... Ca pourrait bien te donner une url de la forme keyword=xxxxx avec xxxxx le contenu du champ (input) nommé keyword.
Faut tester pour voir... Là, je dis ça sans aucune certitude... Je m'interroge, et il est trop tard pour que je fasse des tests. Mais t'as une piste à creuser.
Neige
N'hésitez pas à lire la doc de PHP avant de poser des questions triviales...