Aller au contenu

Sujets conseillés

Posté (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é par mel_
Posté

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

Posté

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

Posté

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

Posté

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

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...