rewriting et dossier

Nouveau WRInaute
Bonjour,

Voilà mon problème:

A la racine de mon site, j'ai un fichier htaccess qui me réecrit des adresses du type
nutella.html en index.php?prod=nutella

mais maintenant je voudrais que que l'adresse
/aliments/nutella.htm devienne index.php?prod=nutella
doit-il exister un repertoire aliments?

et je voudrais aussi pouvoir avoir:
/desserts/yaourt.htm devienne index.php?sort=yaourt

je voudrais pouvoir avoir une règle d'écriture différente par dossier en fait

dois je créer chaque répertoire? dois je mettre un htaccess différent dans chaque répertoire ou bien quelquechose comme ceci suffit pour vérifier que si l'adresse vient de tel repertoire ou comporte ce repertoire (ou est écrit comme telle)

RewriteRule ^/aliments/([a-z_]+)\.html$ index.php?prod=$1 [NC,L]

Merci de votre aide car là je bloque un peu malgré les différentes lectures faites.
 
WRInaute occasionnel
Non tu ne dois pas créer les différents répertoires en question puisqu'ils sont virtuels.
Par contre ce type d'url rewriting qui fait apparaitre des répertoires virtuels nécessite que tes liens soient absolus sur tes pages ce qui n'est pas le cas avec un url rewriting du genre aliments_nutella.html par exemple.
Tu peux aussi placer une balise target dont je ne me rappel pas la syntaxe qui indique le répertoire "source" de la page...

exemple :

Ton sites est http://www.site.com
sur ta page tu as une balise image < img src=toto.gif>
avec une réécriture /aliments/nutella.html, l'image sera cherchée dans http://www.site.com/aliments/ et ne sera donc pas trouvée...
Donc soit tu as des liens < img src=http://www.site.com/toto.gif>
Soit tu places un target="http://www.site.com/"
 
Nouveau WRInaute
ok je te remercie.

J'ai réussi à faire fonctionner. Ma syntaxe est la suivante

RewriteRule ^aliments/([a-z]+)\.html$ index.php?prod=$1 [NC,L]

Merci :D
 
WRInaute occasionnel
jojo, tant mieux si ça fonctionne. Ca ne correspond pas exactement à ce que tu demandais au début :
/aliments/nutella.htm devienne index.php?prod=nutella
/desserts/yaourt.htm devienne index.php?sort=yaourt

Tu utilisais ici 2 noms de variables différents (prod et sort) et c'est plus pénible à programmer. Peut-être n'était-ce qu'une petite erreur lors de la rédaction de ton message.

Dans tous les cas, c'est toi qui décide ce que tu veux, et si ça fonctionne, je n'ai plus rien à dire :wink:

Jocelyn
 
Discussions similaires
Haut