Version complète: sur le forum Webmaster Hub : Problème règles htaccess
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > Fichier .htaccess et réécriture d'URLs
memet
Bonjour à tous,

Voici un exemple de règles concernant la même page (ici la rubrique conseils) :

RewriteRule ^conseils/$ conseils/?detail=&semaine_date=&liste=&type=&detail_type= [L]
RewriteRule ^conseils/(.*)/$ conseils/?page=$1&detail= [L]
RewriteRule ^conseils/(.*)/(.*).htm$ conseils/?page=$1&detail=$2 [L]

Seule la première règle est prise en compte.
J'ai pensé à un problème de slash (/) mais sans succès.

Merci et bonne journée
captain_torche
Tout simplement parce qu'avec le flag "L" (pour Last), tu spécifies au mod_rewrite de s'arrêter à la première règle.
Plus d'infos dans les publications du Hub.
memet
Bien mais dans ce cas que dois-je mettre comme flag à la place ?
J'ai essayé en enlevant les flags des trois lignes mais cela ne change rien.

En fait quand je vais sur -http://monsite.fr/conseils/ il execute la première règle
mais quand je vais par exemple sur -http://monsite.fr/conseils/financement/ il execute toujours la première
Dan
Pour moi tes règles ne sont pas bonnes, parce que tu rediriges "conseil" vers... "conseil" smile.gif

Le flag [L] ne fait sortir qu'en cas de "match", sinon mod_rewrite analyse la règle suivante.

Et dans tes 2 dernières règles, tu as des caractères facultatifs (.*) alors que les / sont obligatoires...
Tu devrais mettre plutôt ([^/]+) pour avoir au moins un caractère qui diffère de / et faire suivre tes / d'un ? pour le rendre facultatif lui aussi. wink.gif

Dan
memet
CITATION(Dan @ jeudi 22 juin 2006, 11h58) *
Pour moi tes règles ne sont pas bonnes, parce que tu rediriges "conseil" vers... "conseil" smile.gif


Merci pour ta réponse.
En redirigeant "conseil" vers "conseils" tout fonctionne correctement.
N'y a-t-il pas de moyen de rediriger un repertoire virtuel avec des paramètres vers un répertoire existant avec des paramètres?
Bourinho
Salut...

Dan, quand tu dis que son fichier n'est pas bon car il redirige conseil vers conseil, tu veux dire qu'il faut qu'il fasse un truc avec une condition de ce genre :
CODE
RewriteCond %{HTTP_REFERER} ^http://monsite.fr/conseils/?$ [NC]
RewriteRule ^(/?)$ $1?detail=&semaine_date=&liste=&type=&detail_type= [L]


Je ne sais pas si cette proposition est syntaxiquement correcte...je suis novice dans ce domaine...

A+
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.