Réécriture d'url de résultats de recherche
Résolu
Ericb2038
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
Ericb2038 Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
Ericb2038 Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Mon problème est le suivant :
soit :
- un formulaire de recherche simple dans lequel l'internaute tape sa recherche
pour l'affichage de la page de résultats je voudrais pouvoir générer une url du type
http://monsite.com/recherche/premier-terme-recherché-2e-terme-recherché/
(etc)
générer "premier-terme-recherché-2e-terme-recherché", etc dans l'url d'appel,
ça je vais savoir faire, mais c'est pour la redirection que je sèche un peu.
J'imagine qu'on doit pouvoir le faire dans un .htaccess via des redirections
apache un peu rusées, mais je ne vois pas trop comment.. Quelqu'un aurait une idée ?
(en fait, j'ai vu ce principe fonctionner quelque part et j'ai un client qui me le réclame :))
Merci par avance,
Eric
Mon problème est le suivant :
soit :
- un formulaire de recherche simple dans lequel l'internaute tape sa recherche
pour l'affichage de la page de résultats je voudrais pouvoir générer une url du type
http://monsite.com/recherche/premier-terme-recherché-2e-terme-recherché/
(etc)
générer "premier-terme-recherché-2e-terme-recherché", etc dans l'url d'appel,
ça je vais savoir faire, mais c'est pour la redirection que je sèche un peu.
J'imagine qu'on doit pouvoir le faire dans un .htaccess via des redirections
apache un peu rusées, mais je ne vois pas trop comment.. Quelqu'un aurait une idée ?
(en fait, j'ai vu ce principe fonctionner quelque part et j'ai un client qui me le réclame :))
Merci par avance,
Eric
A voir également:
- Réécriture d'url de résultats de recherche
- Url - Guide
- Resultats foot - Télécharger - Vie quotidienne
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Moteur de recherche 1fichier ✓ - Forum Réseaux sociaux
- Lexer resultats - Télécharger - Sport
2 réponses
Bonjour,
Je ne comprend pas bien le but de la question.
Tu veux que les variables soit passées dans l'adresse c'est ça?
utilise la même redirection que d'habitude, et place tes variables dans un $_GET["taVariable"].
elles seront automatiquement placées dans l'url de ta page de destination.
Je ne comprend pas bien le but de la question.
Tu veux que les variables soit passées dans l'adresse c'est ça?
utilise la même redirection que d'habitude, et place tes variables dans un $_GET["taVariable"].
elles seront automatiquement placées dans l'url de ta page de destination.
Non en fait, je veux que mes variables composent l'URL
http://monsite.com/recherche/ce-que-l-utilisateur-a-tape-dans-le-champ-de-recherche
(c'est pour un client malade de SEO (cela dit je trouve ça très con, dans la mesure ou les bots de des moteurs ne vont pas eux faire de recherche, mais bon, on discute pas avec le client....))
Et en fait, j'ai trouvé comment faire :
mon formulaire appelle :
un dosearch.php dont le code est :
qui redirige donc vers /recherche/la-chaine-tapée-par-l'internaute
Pour interpréter cette url,
dans mon .htaccess j'ai des conditions de réécriture :
qui renvoient tout ce qui commence par "recherche/" vers resultatrecherche.php
et resultatrecherche.php récupère les termes de recherche comme ça :
Là où je coinçais c'était pour trouver exactement comment écrire la RewriteRule, elles ne sont pas spécialement intuitives à écrire, surtout quand elles comportent des "/" au milieu :)
j'ai fini par trouver la réponse là :
http://www.addedbytes.com/for-beginners/url-rewriting-for-beginners/
Merci en tous cas :)
http://monsite.com/recherche/ce-que-l-utilisateur-a-tape-dans-le-champ-de-recherche
(c'est pour un client malade de SEO (cela dit je trouve ça très con, dans la mesure ou les bots de des moteurs ne vont pas eux faire de recherche, mais bon, on discute pas avec le client....))
Et en fait, j'ai trouvé comment faire :
mon formulaire appelle :
un dosearch.php dont le code est :
$search=''; $search.=preg_replace("/\ /","-",trim($_POST['recherche'])); header("Location: /recherche/".$search) ;
qui redirige donc vers /recherche/la-chaine-tapée-par-l'internaute
Pour interpréter cette url,
dans mon .htaccess j'ai des conditions de réécriture :
RewriteEngine On # RewriteBase / RewriteRule ^recherche/([A-Za-z0-9-]+)/?$ resultatrecherche.php
qui renvoient tout ce qui commence par "recherche/" vers resultatrecherche.php
et resultatrecherche.php récupère les termes de recherche comme ça :
//nettoyage du préfixe "/recherche/ " $search = preg_replace("/\/recherche\//","",$_SERVER['REQUEST_URI'] ); // retransforme les "-" en espaces $search = preg_replace("/-/"," ", $search ); //traiter la recherche et à partir de là on peut traiter normalement...
Là où je coinçais c'était pour trouver exactement comment écrire la RewriteRule, elles ne sont pas spécialement intuitives à écrire, surtout quand elles comportent des "/" au milieu :)
j'ai fini par trouver la réponse là :
http://www.addedbytes.com/for-beginners/url-rewriting-for-beginners/
Merci en tous cas :)