Règle .htaccess un peu complexe

Règle .htaccess un peu complexe - Windows & Software

Marsh Posté le 29-01-2005 à 14:43:57    

Salut à tous !
 
Je post car j'ai un gros problème avec mon .htaccess et l'url rewriting.
J'ai un petit moteur de recherche et certaines requètes deviennent difficiles à traduire (pour moi :))
Tant que c'était des règles simples, j'y arrivais, mais là, j'ai vraiment beaucoup de mal avec une regle plus compliquée.
 
Je vais avoir des liens de 2 types à rediriger :
 
* .monsite.com/rep/search-mot1-mot2...motn.html
vers
.monsite.com/rep/search.php?mots=mot1+mot2+...+motn
 
* .monsite.com/rep/search-mot1-mot2...motn_X1_X2_X3_OR.html
vers
.monsite.com/rep/search.php?mots=mot1+mot2+...+motn&page=X1&nb_results2show=X2&nb_sites_trouves=X3&booleen=OR
 
 
 
mot1-mot2...motn : les mots à rechercher dans le moteur.
Ils sont séparés par des "-".
A noter : les "-" se transformes en "+".
 
_X_X_X_OR : variables de la requête
Ils sont séparés par des "_".
X1, X2 et X3 sont donc un nombre entier.
OR : c'est un exemple mais cette variable doit pouvoir etre soit OR soit AND soit vide.
 
Pour le moment, je m'en tire avec ça :
 
RewriteRule ^search-([^-]+)\.html$ /rep/search.php?mots=$1
RewriteRule ^search-([^-]+)-([^-]+)\.html$ /rep/search.php?mots=$1+$2
RewriteRule ^search-([^-]+)-([^-]+)-([^-]+)\.html$ /rep/search.php?mots=$1+$2+$3
RewriteRule ^search-([^-]+)-([^-]+)-([^-]+)-([^-]+)\.html$ /rep/search.php?mots=$1+$2+$3+$4
 
Je sais, j'ai honte, c'est code tout pourri, mais je débute avec le .htaccess. Au moins, pour le moment, ça a le merite de marcher (avec toutes les requetes de moins de 5 mots :D). Mais bon, c'est vraiment pas optimisé, comme code, surtout que ça ne marche pas du tout pour le 2eme type de requete dont j'ai besoin (avec les _X_X_X_OR). Je suis allé voir un peu partout pour tenter d'y arriver seul, mais pour le moment je tatonne encore beaucoup trôt.
 
Voilà !
 
Quelqu'un pourrait-il m'aider ?
 
Merci d'avance !

Reply

Marsh Posté le 29-01-2005 à 14:43:57   

Reply

Marsh Posté le 29-01-2005 à 21:19:48    

Personne n'a une idée ??

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed