mel_ Posté 17 Mars 2005 Posté 17 Mars 2005 (modifié) Bonjour, Ca fait déjà plusieurs jours que je cherche à comprendre le principe de l'url rewrite. J'ai trouvé pas mal de documentation pour le serveur Apache mais presque rien pour IIS. J'aimerai tranformer l'url suivante : [b]http://www.url.com/maPage.php?numero=1&page=2 Je voudrais obtenir : [b]http://www.url.com/1-2.php Voici ce que j'ai dans mon fichier httpd.ini : RewriteRule /(\d{1})-(\d{1})\.php maPage.php\?numero=$1&page=$2 [I,O,RP,L] Le principe fonctionne, j'ai bien une redirection. Mais mon url s'affiche toujours : [b]http://www.url.com/maPage.php?numero=1&page=2 Comment faire pour avoir : [b]http://www.url.com/1-2.php dans l'url? Quelqu'un peut-il m'aider? Merci d'avance Mélanie Modifié 17 Mars 2005 par mel_
Dan Posté 17 Mars 2005 Posté 17 Mars 2005 Bonjour Mélanie, Tu commets l'erreur de nombreux débutants qui se lancent dans la réécriture d'URLS: traiter le problème à l'envers. La réécriture ne peut réécrire que des URLs que tu lui donnes, pas autre chose. Elle ne modifiera aucunement les pages de ton site. Ta règle fonctionne, et c'est bien. Lorsque tu demandes: http://www.url.com/1-2.php tu reçois bien la page http://www.url.com/maPage.php?numero=1&page=2 ? C'est donc à toi de modifier tes sources de programme pour que toutes les liens soient sous la nouvelle forme et non plus l'ancienne. Il faudra donc te plonger dans le code source Dan
mel_ Posté 17 Mars 2005 Auteur Posté 17 Mars 2005 Je ne suis pas sûr de bien comprendre mon erreur. Dans une page j'ai le lien : <a href = "<?php echo "$num" ?>-<?php echo "$page" ?>.php">Lien</a> Quand je clique sur ce lien j'arrive sur : [b]http://url.com/maPage.php?numero=1&page=2 au lieu de : [b]http://url.com/1-2.php Tu peux m'expliquer plus précisement ce qu'il faut que je modifie? Merci d'avoir répondu Mélanie
Dan Posté 17 Mars 2005 Posté 17 Mars 2005 Mélanie, Cela me semble bon... en tout cas dans tes sources. Je pense qu'il s'agit d'un Flag de la règle de réécriture qu'il faut supprimer, et j'aurais tendance à dire RP. Mais je n'en suis pas certain, n'ayant jamais utilisé ISAPIRewrite. Peux-tu essayer d'enlever ce flag ? Dan
mel_ Posté 17 Mars 2005 Auteur Posté 17 Mars 2005 Effectivement ça doit venir du ffag (merci j'y aurais pas pensé) En enlevant le RP j'ai l'url que je voulais. Par contre j'ai l'erreur suivante qui apparait sur ma page : No input file specified. C'est bizarre, mon fichier est bien là pourtant. En tout cas le principe fonctionne maintenant. J'vais me documenter sur les flags Merci Mélanie
Dan Posté 17 Mars 2005 Posté 17 Mars 2005 En fait, en regardant la doc en ligne ( http://www.isapirewrite.com/docs/#RewriteRule ) on voit que le Flag RP est pour "Redirect Permanent" ... ce qui changeait l'URL dans l'ancienne version. C'est l'équivalent du [R=301] sous mod_rewrite. Le seul flag dont tu aies besoin serait à mon avis le [L] pour éviter de passer par d'autres règles ensuite. As-tu une URL réécrite vers ton site, qu'on puisse voir ? Dan
mel_ Posté 17 Mars 2005 Auteur Posté 17 Mars 2005 oui c'est ce que j'ai fait. Mais j'ai l'erreur 404 maintenant...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant