Aller au contenu

Sujets conseillés

Posté

Bonjour

je souhaiterais passer un parametre dans mon url pour que ce parametre soit utilisé comme critère de recherche sur une page php

Le nom de la page est passé en répertoire virtuel dans mon htaccess

recherche.php est le nom de ma page qui va traiter la variable searchkey

Options +FollowSymlinks
RewriteEngine on
RewriteRule ^recherche?searchkey=\.$  recherche.php?searchkey=$1  [NC,L]

mais lorsque je fais un print_r($_GET) dans la page recherche.php, le paramètre searchkey est absent... et j'ai un Array() vide..

Comment je peux faire pour que ce soit bien pris en compte si c'est envoyé envoyé à partir de l'url rewriting?

merci d'avance

Posté

Salut,

RewriteRule ^recherche?searchkey=(*)$  recherche.php?searchkey=$1  [NC,L]

sinon $1 ne correspond à rien.

Bye

Seb

Posté

Seb,

j'ai essayé ton code mais cela me retourne un "internal server error"

(je précise que l'url revwriting est bien activé sur apache)

Posté

Salut,

Tout simplement parce que les règles de réécriture ne prnnent pas en compte les query strings ... en tout cas pas comme ça.

Pour rediriger recherche vers recherche.php il suffit de faire

RewriteRule recherche$ recherche.php [QSA,L]

Et la query string sera automatiquement ajoutée.

Dan

Posté (modifié)

Dan, merci beaucoup

je souhaiterai faire une recherche sur n'importe quelle chaîne de caractères, peux tu me confirmer que la règle suivante est correcte au niveau du (.) ?

RewriteRule ^recherche?searchkey=(.)$ recherche.php?searchkey=$1 [QSA,NC,L]

Modifié par choupiz

Veuillez vous connecter pour commenter

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



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