Url rewriting et différenciation des pages

Nouveau WRInaute
Bonjour à tous,

Je rencontre un léger problème sur une redirection via url rewrinting.
Mon htaccess se situe dans un repertoire, du type http://www.monsite.com/monrep/ et voilà ce que j'aimerais avoir :
Si on contact le rep vide =>> je renvois vers l'index
Si on contact le rep avec un sous rep => j'envoi vers mapage.php?var=sousrep
Si on contact le rep avec un sous rep, et un autre sous rep => j'envoi vers mapage.php?var1=sousrep&var2=sousrep2
Si on contact le rep avec un sous rep, et un autre sous rep et un fichier dedant => j'envoi vers mapage.php?var1=sousrep&var2=sousrep2&var3=fichier

ce qui donne chez moi quelquechose du genre (mais qui ne marche pas) :
Code:
RewriteEngine on

RewriteRule index.php$ index.php [L]
RewriteRule (.+)/(.+)/(.+).php$ annonceur.php?region=$1&dep=$2&ville=$3
RewriteRule (.+)/(.+).php$ annonceur.php?region=$1&dep=$2
RewriteRule (.+).php$ annonceur.php?region=$1

Merci d'avance à tous pour votre aide !
 
WRInaute passionné
la règle "Si on contact le rep vide =>> je renvois vers l'index" est inutile car c'est fait en standard.
J'ai peur que ca boucle. C'est pour ca qu'il vaut mieux ajouter une condition. Je remplacerai aussi . par [^/] :
Code:
RewriteEngine on

RewriteCond $3 !^annonceur$
RewriteRule ([^/]+)/([^/]+)/([^/]+).php$ annonceur.php?region=$1&dep=$2&ville=$3
RewriteCond $3 !^annonceur$
RewriteRule ([^/]+)/([^/]+).php$ annonceur.php?region=$1&dep=$2
RewriteCond $3 !^annonceur$
RewriteRule ([^/]+).php$ annonceur.php?region=$1
 
Nouveau WRInaute
Merci Forty pour ta réponse. Hélas, ça ne marche pas mieux, c'est même pire parce que la simple redirection vers le fichier index.php ne marche plus... :(
Toutes les demandes sont renvoyées vers annonceur.php...De plus, visiblement les redirections du type ([^/]+)/([^/]+).php ne marchent hélas pas non plus :?
 
Discussions similaires
Haut