Réecriture avec Isapi Rewrite

WRInaute impliqué
Bonjour à tous,

Voili, je dois faire des redirections permanentes suite à une refonte partielle de mon site, le hic c'est que je suis sur un serveur IIS, mais ce n'est pas là ma seule tare, puisque je ne connais que très peu l'url rewriting, les expressions régulières et, cerise sur le gâteau, je ne parle pas bien l'anglais. :wink:

Pour résumer, quand je fais un :

Code:
[ISAPI REWRITE]
RewriteRule  /index.html /index.php [RP]

Great, the rewriting play good.

Mais si je fais :

Code:
[ISAPI REWRITE]
RewriteRule  /index.php\?idserie=1 /index.php\?idcat=125 [RP]

Hell and damnation, ça ne fonctionne pas ! Le problème vient de la valeur passée en GET. Je le sais uniquement parce que mon éditeur de code part en couille quand j'arrive là, la suite étant colorée dans un style qui me dit "gaffe supercureuil, ça ne va pas le faire".

Voilà, si quelqu'un sait précisément d'où ça vient et comment y remédier ...

Par ailleurs, s'il existe une règle plus générale pour faire ça, je suis preneur aussi :lol:

@+
 
WRInaute accro
l'url physique ne doit pas echapper les metacaracteres
Code:
index.php?idcat=125 [RP]

ensuite dans la premiere partie, fait un choix! ou tu echappes l'ensemble des metacaracteres ( le point et le point d'interrogation dans ton cas), ou rien, mais pas la moitié...
Code:
RewriteRule  index.php?idserie=1
# ou
RewriteRule  index\.php\?idserie=1


Tu aurais un lien sur la doc de ISAPI REWRITE pour voir comment se gere les fins et debuts de chaine ?
 
WRInaute impliqué
Merci KOogar, tu me rends un fier service

La doc officielle de l'Isapi Rewrite est ici.

Hé hé, je m'en va déjà tester avec ce que tu m'as donné et je vous tiens au courant :lol:
 
WRInaute impliqué
Hum hum, ça ne change rien :cry:

Le problème vient du "=" mais je ne vois pas pourquoi. Faudrait pas le remplacer par "$" ou quelque chose comme ça ?

J'essaie aussi de m'y retrouver dans cette doc et continue mes recherches, si tu as du nouveau, you're welcome ...
 
WRInaute accro
Merci pour le lien. C'est un régal, tout est motif ou ne l'est pas, génial!!!

quel est ton hebergeur? car je n'en connais aucun qui tourne avec APACHE + PHP + ISAPI_Rewrite


apres lecture de la doc, je pencherais plus sur une reecriture de ce style:


Code:
RewriteRule (.*\.php\?)([a-z]=*)([0-9]+)  $1idcat=125 [NS,I]

si cela ne marche pas, c'est que tu dois capturer et renvoyer la valeur de la variable GET au moteur pour qu'il l'identifie...comme tu la dit des le debut du post.

Il faudrait en passer par la :
-- > $1idcat=$3
 
WRInaute impliqué
Sorry, c'est tout ce qui existe comme littérature sur le sujet, alors si toi t'as du mal à t'y retrouver, pas demander moi !

Je suis hébergé chez LWS. Et franchement j'ai deux sites chez eux mais les prochains seront ailleurs. Je les avais choisis pour leurs tarifs mais je commence à le regretter depuis qq semaines.
Quand tu leur demande conseil, il te renvoient vers une faq pourrie avec des exemples de code bourrés d'erreurs et quand tu leur demande la conf de php, ils te répondent à côté, ils ne savent même pas ce qui est installé sur leurs serveurs !

Fin soit, j'ai rempilé pour un an avec eux il n'y a pas longtemps pour un site, pour l'autre j'ai encore 6 mois à tirer puis je change pour des serveurs Apache.

M'enfin pour revenir au rewriting, je vais chercher encore un peu mais l'exemple que tu me donnes ne fonctionne pas. Le problème vient du signe "=".

C'est super sympa de ta part de t'être penché comme ça sur mon problème, mais ne perds pas ton temps pour moi, je vais aviser de faire qq chose de correct et si j'y parviens je te tiendrai au courant. J'ai aussi posté sur le forum officiel de Helicon, on verra ...

Encore merci et @+
 
WRInaute impliqué
C'est ok, un modo du forum d'helicon a posté la solution :

Il faut appliquer la règle suivante :

Code:
RewriteRule  /avatars/galeries\.php\?idserie=5 http\://www.mondomaine.net/avatars/galeries.php\?idcat=42 [I,RP]

Encore merci d'avoir passé du temps là-dessus Koogar,

@+
 
Discussions similaires
Haut