Jok Posté 28 Mars 2004 Partager Posté 28 Mars 2004 Bonjour tout le monde, J'ai récement appris l'existance de l'url rewriting....je suis en train de le mettre en place sur mon site, mais je bloque sur l'affichage de mes news....qui ne peut codé en dur... J'ai mes news qui sont dispo ici /n/news1.php /n/news2.php ....... Comment je dois faire le script d'url rewriting pour qu'il m'affiche /news1.html /news2.html Le tout "dynamiquement" si je puis me dire.... Genre si je rajoute une news, j'ai pas besoin d'éditer mon htaccess pour rajouter la ligne qui va bien... Vous m'avez compris ? Merci de vos réponses.... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dan Posté 29 Mars 2004 Partager Posté 29 Mars 2004 Salut Joker Noir, C'est très simple, il suffit d'une règle, si toutes tes news sont dans le répertoire "n" : RewriteEngine onRewriteRule news([0-9]+)\.html$ n/news$1.php [L] Par contre, pour éviter les problèmes de liens relatifs non résolus à cause du changement apparent de répertoire, je te suggère d'utiliser la balise <base href="..."> dans les scripts php de news. Voir les explications dans l'article: Mod_rewrite, ou la réécriture des URL "à la volée" Dan Lien vers le commentaire Partager sur d’autres sites More sharing options...
Jok Posté 29 Mars 2004 Auteur Partager Posté 29 Mars 2004 Bouuuuuuh on a changé mon pseudo Bref, merci Dan de ta réponse De trois trucs que je voudrai eclaircir.....: ([0-9]+) -> toutes les chiffres possibles, c'est bien ça ? n/news$1.php -> le $1 reprends le nombre que l'on vient de calculer juste avant....? Ensuite j'ai pas bien cerner ton histoire de lien relatif...... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dan Posté 29 Mars 2004 Partager Posté 29 Mars 2004 Salut Joker Noir, Oui, c'est moi le coupable pour ton pseudo. Comme expliqué dans le message que je t'ai envoyé, on essaye d'éviter la "mode" qui consiste à m3lAnG3r les majuscules/minuscules/chiffres... parce que c'est extrèmement pénible pour ceux qui veulent communiquer avec toi ([0-9]+) veut dire n'importe quelle combinaison d'au moins un chiffre (a cause du signe +) Et effectivement, le $1 est ce qu'on appelle une "back reference" ou "référence arrière" qui correspond à la première expression entre ( ) dans la première partie. On peut utiliser de $1 a $9 , ce qui permet pas mal de choses. Tu as toutes les explications dans l'article sur Mod8rewrite cité plus haut , y compris celle sur les "répertoires virtuels". En deux mots, le fait d'avoir une réécriture ou le répertoire apparent n'est pas le même dans les 2 termes de l'expression crée un répertoire virtuel (fait croire à ton navigateur qu'il est dans un autre répertoire)... donc les liens relatifs ne fonctionneront pas sauf si on utilise la balise <base ...> Dan Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant