Moteur de recherche multi-critères et URL Rewriting

Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics

Fanel
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 4
Inscription: 13 Fév 2009

Moteur de recherche multi-critères et URL Rewriting

Message le Ven Fév 13, 2009 16:17

Bonjour,

Je travaille sur un projet qui utilise un moteur de recherche multi-critères, pour sortir une liste d'annonces immobilières.

L'url de la page qui affiche les annonces est de ce type :
Code: Tout sélectionner
index.php?module=search&annonce_type=vente&annonce_type_bien=appartement&annonce_surface=&annonce_surface_min=10&annonce_surface_max=50&annonce_rooms=2&annonce_price_min=200000&annonce_price_max=&annonce_zipcode=75&submit=VOIR+LES+RESULTATS


Cette URL est générée par un formulaire de recherche, que voici :
Code: Tout sélectionner
<form method="get" class="homeSearchForm" id="homeSearchForm" name="homeSearchForm">
                  <input type="hidden" name="module" value="search" />
                     <fieldset>
                     <div class="selectContainer">
                        <select name="annonce_type" id="annonce_type" class="selectbox">
                           <option value="">Type d'annonce</option>
                           <option value="location" <?php selectTest('annonce_type', 'location'); ?>>Location</option>
                           <option value="vente" <?php selectTest('annonce_type', 'vente'); ?>>Vente</option>
                        </select>   
                     </div>
                     <div class="selectContainer">
                        <select name="annonce_type_bien" id="annonce_type_bien" class="selectbox">
                           <option value="">Type de bien</option>
                           <option value="appartement" <?php selectTest('annonce_type_bien', 'appartement'); ?>>Appartement</option>
                           <option value="maison" <?php selectTest('annonce_type_bien', 'maison'); ?>>Maison</option>
                           <option value="terrain" <?php selectTest('annonce_type_bien', 'terrain'); ?>>Terrain</option>
                           <option value="local" <?php selectTest('annonce_type_bien', 'local'); ?>>Local commercial</option>
                           <option value="boutique" <?php selectTest('annonce_type_bien', 'boutique'); ?>>Boutique</option>
                           <option value="parking" <?php selectTest('annonce_type_bien', 'parking'); ?>>Parking</option>
                           <option value="immeuble" <?php selectTest('annonce_type_bien', 'immeuble'); ?>>Immeuble</option>
                           <option value="bureau" <?php selectTest('annonce_type_bien', 'bureau'); ?>>Bureau</option>
                           <option value="loft" <?php selectTest('annonce_type_bien', 'loft'); ?>>Loft</option>
                           <option value="divers" <?php selectTest('annonce_type_bien', 'divers'); ?>>Divers</option>
                        </select>   
                     </div>
                     
                     <div class="selectContainer">
                        <select name="annonce_surface" id="annonce_surface" class="selectbox">
                        <option value="">Surface recherch&eacute;e</option>
                           <option value="0-14" <?php selectTest('annonce_surface', '0-14'); ?>>moins de 15 m&sup2;</option>
                           <option value="15-24" <?php selectTest('annonce_surface', '15-24'); ?>>de 15 &agrave; 24 m&sup2;</option>
                           <option value="25-49" <?php selectTest('annonce_surface', '25-49'); ?>>de 25 &agrave; 49 m&sup2;</option>
                           <option value="50-99" <?php selectTest('annonce_surface', '50-99'); ?>>de 50 &agrave; 99 m&sup2;</option>
                           <option value="100-149" <?php selectTest('annonce_surface', '100-149'); ?>>de 100 &agrave; 149 m&sup2;</option>
                           <option value="150-249" <?php selectTest('annonce_surface', '150-249'); ?>>de 150 &agrave; 249 m&sup2;</option>
                           <option value="250" <?php selectTest('annonce_surface', '250'); ?>>plus de 250 m&sup2;</option>
                        </select>
                     </div>
                     
                     <div class="selectContainer">
                     <?php
                     if(isset($_REQUEST['annonce_surface_min']))
                        $surfaceMin = $_REQUEST['annonce_surface_min'];
                     else
                        $surfaceMin = '';
                        
                     if(isset($_REQUEST['annonce_surface_max']))
                        $surfaceMax = $_REQUEST['annonce_surface_max'];
                     else
                        $surfaceMax = '';
                     ?>
                        de <input type="text" name="annonce_surface_min" class="shadowedInputSmall" value="<?php echo $surfaceMin; ?>" />
                        &agrave; <input type="text" name="annonce_surface_max" class="shadowedInputSmall" value="<?php echo $surfaceMax; ?>" /> m&sup2;
                     </div>
                     
                     <div class="selectContainer">
                        <select name="annonce_rooms" id="annonce_rooms" class="selectbox">
                           <option value="">Nombre de pi&egrave;ces</option>
                           <option value="1" <?php selectTest('annonce_rooms', '1'); ?>>1 pi&egrave;ce</option>
                           <option value="2" <?php selectTest('annonce_rooms', '2'); ?>>&agrave; partir de 2 pi&egrave;ces</option>
                           <option value="3" <?php selectTest('annonce_rooms', '3'); ?>>&agrave; partir de 3 pi&egrave;ces</option>
                           <option value="4" <?php selectTest('annonce_rooms', '4'); ?>>&agrave; partir de 4 pi&egrave;ces</option>
                           <option value="5" <?php selectTest('annonce_rooms', '5'); ?>>&agrave; partir de 5 pi&egrave;ces</option>
                           <option value="6" <?php selectTest('annonce_rooms', '6'); ?>>&agrave; partir de 6 pi&egrave;ces</option>
                        </select>
                     </div>
                     
                     <div class="selectContainer">
                     <?php
                     if(isset($_REQUEST['annonce_price_min']))
                        $priceMin = $_REQUEST['annonce_price_min'];
                     else
                        $priceMin = '';
                        
                     if(isset($_REQUEST['annonce_price_max']))
                        $priceMax = $_REQUEST['annonce_price_max'];
                     else
                        $priceMax = '';
                     ?>
                        de <input type="text" name="annonce_price_min" class="shadowedInputSmall" value="<?php echo $priceMin; ?>" />
                        &agrave; <input type="text" name="annonce_price_max" class="shadowedInputSmall value="<?php echo $priceMax; ?>"" /> &euro;
                     </div>
                     
                     <div class="selectContainer">
                     <?php
                     if(isset($_REQUEST['annonce_zipcode']))
                        $value = $_REQUEST['annonce_zipcode'];
                     else
                        $value = 'Villes ou departements (ex : Paris, 78)';
                     ?>
                        <input type="text" name="annonce_zipcode" id="annonce_zipcode" class="shadowedInput" value="<?php echo $value; ?>"
                        onfocus="emptyInput('annonce_zipcode', this.value);" onkeyup="citiesSuggest(this.value);" autocomplete="off" />
                     </div>
                     
                     </fieldset>
                     
                     
                     <a onclick="javascript:submitform1();">Valider</a>
                     <input type="submit" name="submit" value="VOIR LES RESULTATS" class="searchSubmitButton" />
                     <div class="spacer"> </div>
                  </form>


J'aimerai poser une URL Rewriting dessus, de façon à ce que l'adresse ressemble à ceci :
Code: Tout sélectionner
recherche-vente-appartement-10-50-2-200000-500000-75.html


Et bien que j'ai lu un paquet d'articles, aucun ne traite d'un cas similaire. Je n'ai donc absolument aucune idée de comment parvenir à ce résultat.

je viens donc demander un peu d'aide pour mettre en place cette URL Rewriting.

Merci d'avance.


Leonick
WRInaute accro
WRInaute accro
 
Messages: 19595
Inscription: 8 Aoû 2004

Re: Moteur de recherche multi-critères et URL Rewriting

Message le Ven Fév 13, 2009 19:28

tu ne pourras pas avec un simple formulaire, sauf à utiliser du javascript pour reformuler. Mais le formulaire, soit tu l'envoie en POST dans ce cas l'url appelée n'est pas modifiée, soit en GET et l'url ressemblera à celle que tu as, avec des ? et id1=aaa&id2=bbb


fandecine
Modérateur
Modérateur
 
Messages: 2047
Inscription: 2 Avr 2005

Re: Moteur de recherche multi-critères et URL Rewriting

Message le Ven Fév 13, 2009 19:46

Si c'est possible !

Tu envois en POST, tu récupére les valeurs, tu construit l'url et tu fais une redirection :mrgreen:

Mais ce n'est pas conseille pour le référencement d'indexer des résultats de recherche sur un site même en maquillnt l'url :wink:


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités