Moteur de recherche multi-critères et URL Rewriting

Discussion dans 'URL Rewriting et .htaccess' créé par Fanel, 13 Février 2009.

  1. Fanel
    Fanel Nouveau WRInaute
    Inscrit:
    13 Février 2009
    Messages:
    7
    J'aime reçus:
    0
    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:
    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:
    <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:
    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.
     
  2. Leonick
    Leonick WRInaute accro
    Inscrit:
    8 Août 2004
    Messages:
    19 274
    J'aime reçus:
    0
    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
     
  3. fandecine
    fandecine WRInaute passionné
    Inscrit:
    2 Avril 2005
    Messages:
    1 873
    J'aime reçus:
    0
    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:
     
Chargement...
Similar Threads - Moteur recherche multi Forum Date
Moteur de recherche multi critère Développement d'un site Web ou d'une appli mobile 18 Mai 2014
Moteur de recherche multi critères? Débuter en référencement 16 Juin 2013
moteur de recherche multi critère Développement d'un site Web ou d'une appli mobile 16 Février 2006
multi moteurs de recherches Problèmes de référencement spécifiques à vos sites 4 Décembre 2005
moteurs de recherche et site multilingue Problèmes de référencement spécifiques à vos sites 9 Juillet 2004
Affichage "notation - étoiles" dans le moteur de recherche. Référencement Google 15 Octobre 2022
Moteur de recherche interne dans mon site Demandes d'avis et de conseils sur vos sites 4 Février 2022
Impossible de décocher la case de demander aux moteurs de recherche Problèmes de référencement spécifiques à vos sites 29 Octobre 2021
Le moteur de recherche neeva.com demande de payer pour rechercher Autres moteurs de recherche connus 23 Août 2021
Mots-clés longue traîne algorithme moteur de recherche Rédaction web et référencement 20 Avril 2021
Robots : n'autoriser que les 4 ou 5 moteurs de recherche principaux Crawl et indexation Google, sitemaps 15 Janvier 2021
Comment bloquer à coup sûr l'indexation par les moteurs de recherche Crawl et indexation Google, sitemaps 7 Décembre 2020
Optimisation URL pour les moteurs de recherche Débuter en référencement 15 Novembre 2020
Moteur de recherche français : 01Search.com Autres moteurs de recherche connus 30 Octobre 2020
Le moteur de recherche d'Apple va-t-il voir le jour ? Autres moteurs de recherche connus 27 Août 2020
Moteur de recherche interne Google Développement d'un site Web ou d'une appli mobile 10 Juillet 2020
Mon site web n'est plus référencé sur les moteurs de recherche sauf Google Problèmes de référencement spécifiques à vos sites 17 Décembre 2019
Désindexer page du moteur de recherche interne Crawl et indexation Google, sitemaps 30 Octobre 2019
Nouvelle présentatation des résultats du moteur de recherche google Référencement Google 5 Octobre 2019
mon site internet n'apparaît plus dans les moteurs de recherche Problèmes de référencement spécifiques à vos sites 16 Juillet 2019