le 10/02/2014 à 23:39
Morganpog
Bonsoir,
J'ai réalisé un moteur de recherche sur mon site et j'ai un petit problème avec l'Url Rewriting.
En faite actuellement j'envoie les données par la method="post".
Cela fonctionne très bien sauf que si l'utilisateur fait un "précédent", le navigateur propose de reposter les valeurs (donc pas terrible).
Donc au lieu d'utilisé la method="post", j'utilise la get.
Mais je ne trouve pas très esthétique d'avoir une adresse à rallonge :
www.monsite.com/recherche.php?recherche=marecherche&ou=maville
Donc j'ai créer mon .htaccess avec une règle de réécriture, celle-ci fonctionne très bien.
RewriteRule ^recherche/([a-z0-9]*)/([a-z0-9]*)$ /recherche.php?recherche=$1&ou=$2 [L]
Le problème est comment faire pour envoyé via mon formulaire la bonne adresse pour ma régle de réécriture
Car actuellement, voila ce qu'il se passe dans mon url :
www.monsite.com/recherche/?recherche=marecherche&ou=maville
J'ai deux petite idée mais je ne sais pas si c'est les bonnes.
La première serait de passer par une page qui récupère les valeurs des $_GET pour ensuite faire un header avec la bonne adresse. Mais là encore, je crains que si l'utilisateur fait un précédent ...
Et la deuxième, serait de les récupérer directement en JavaScript (je ne sais pas si c'est possible) avec un onSubmit="window.location.href=...
Bien sur inconvénient du JavaScript est qu'il faut qu'il soit activé chez l'utilisateur.
Ou avez vous une autre méthode ?
J'ai réalisé un moteur de recherche sur mon site et j'ai un petit problème avec l'Url Rewriting.
En faite actuellement j'envoie les données par la method="post".
Cela fonctionne très bien sauf que si l'utilisateur fait un "précédent", le navigateur propose de reposter les valeurs (donc pas terrible).
Donc au lieu d'utilisé la method="post", j'utilise la get.
Mais je ne trouve pas très esthétique d'avoir une adresse à rallonge :
www.monsite.com/recherche.php?recherche=marecherche&ou=maville
Donc j'ai créer mon .htaccess avec une règle de réécriture, celle-ci fonctionne très bien.
RewriteRule ^recherche/([a-z0-9]*)/([a-z0-9]*)$ /recherche.php?recherche=$1&ou=$2 [L]
Le problème est comment faire pour envoyé via mon formulaire la bonne adresse pour ma régle de réécriture
<form action="/recherche/" method="get">
<input type="text" name="recherche" id="recherche"></input>
<input type="text" name="ou" id="ou" >
<input type="submit" name="submit" value="" ></input>
</form>
Car actuellement, voila ce qu'il se passe dans mon url :
www.monsite.com/recherche/?recherche=marecherche&ou=maville
J'ai deux petite idée mais je ne sais pas si c'est les bonnes.
La première serait de passer par une page qui récupère les valeurs des $_GET pour ensuite faire un header avec la bonne adresse. Mais là encore, je crains que si l'utilisateur fait un précédent ...
Et la deuxième, serait de les récupérer directement en JavaScript (je ne sais pas si c'est possible) avec un onSubmit="window.location.href=...
Bien sur inconvénient du JavaScript est qu'il faut qu'il soit activé chez l'utilisateur.
Ou avez vous une autre méthode ?