Moteur de recherche multi-critères et URL Rewriting

Nouveau WRInaute
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.
 
WRInaute accro
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
 
WRInaute passionné
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:
 
Discussions similaires
Haut