2010-09-19 16 views
0

Je suis vraiment, vraiment novice dans les règles de réécriture ..
J'ai php script avec un formulaire de recherche et avec trois imputations: titre; Catégorie ; Région . L'utilisateur peut effectuer une recherche par catégorie de titre ou de la région, de sorte que les paramètres ne peut pas être dans un order.Sometime spécifique leur recherche par titre quelque temps que par catégorie d'une région ...Formulaire de recherche règle de réécriture des paramètres

mes règles

RewriteRule ^list/(.*)/(.*)/(.*)/$ /List.php?category=$1&region=$2&title=$3 [L] 
RewriteRule ^list/(.*)/(.*)/$ /List.php?category=$1&region [L] 
RewriteRule ^list/(.*)/$ /List.php?category=$1 [L] 
RewriteRule ^list/(.*)/(.*)/$ /List.php?region=$2&title=$3 [L] 
RewriteRule ^list/(.*)/(.*)/$ /List.php?category=$12&title=$3 [L] 

.. ..et ainsi de suite jusqu'à ce que je termine toute permutation. est-il un moyen de contrôler les variables pour obtenir ceci:

/list/category/ /list/region/ 
/list/region/category/ 
/list/category/region/ 
/list/region/title/..... 

? merci à l'avance

+0

Comment obtenez-vous un tel format à partir du formulaire de recherche? en utilisant javascript? Pourquoi utiliser réécrire pour la recherche du tout? c'est inutile –

+0

Comment devrait-on faire la distinction si 'foo' dans'/list/foo/'ou'/list/foo/bar/'est une catégorie ou une région? – Gumbo

Répondre

0

pourquoi ne pas utiliser

RewriteRule ^List\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /List.php [L] 

si chaque demande ist redireted à list.php

exploser alors avec

$folder = explode('/',substr($_SERVER['REQUEST_URI'],1)); 

pour http://example.com/list/region/title vous

folder[0] = 'list'; 
folder[1] = 'region'; 
folder[2] = 'title'; 
+0

Merci mais ... et si un paramètre de la liste est manquant - Comment je sais si le dossier [] est vraiment un paramètre disons titre - ex. title = 'title'.Je pense que je suis manquant quelque chose, je ne sais pas ... – morowind

+0

Je vais essayer d'être plus explicite: – morowind

+0

Je vais essayer d'être plus explicite: je suis maintenant si je peux avoir un règle pour http: // localhost/catégorie-véhicule/sous-catégorie-voitures/marque-honda/région-londres/dans ce format (le nom des paramètres est la catégorie, sous-catégorie, marque, région) - comment puis-je analyser cela en PHP? et plus important comment ajouter qs si passe l'utilisateur choisir seulement la région et la marque? simplement je ne comprends pas ... – morowind