kmchen Posté 1 Mars 2007 Posté 1 Mars 2007 bonjour Le lien suivant http://www.webologix.com/guide.php marche avec firefox mais pas ave IE. Il s'agit d'un ancienne page qui n'existe plus que je souhaite rediriger vers la nouvelle. Le .htaccess: RewriteRule guide.php http://www.webologix.com/index.php?Itemid=...option=com_linx [R=301]
Jeanluc Posté 1 Mars 2007 Posté 1 Mars 2007 Bonjour, Ce n'est pas un problème IE. Ton code ne fonctionne pas normalement, mais je ne sais pas où est le problème. Essaie: RedirectPermanent guide.php http://www.webologix.com/index.php?Itemid=32&option=com_linx Jean-Luc
georges Posté 1 Mars 2007 Posté 1 Mars 2007 peut-être qu'il bloque sur le <body onLoad="java script:initMoreInfo('infoBlockID');"> mais je n'ai pas eu le courage d'aller ouvrir tes fichiers js RewriteRule guide.php http://www.webologix.com/index.php?Itemid=...option=com_linx [R=301] sinon, pourquoi tu fais une différence entre les urls relatives et absolues ? habituellement je code : RewriteRule ^guide.php$ index.php?Itemid=...option=com_linx [R=301]
kmchen Posté 2 Mars 2007 Auteur Posté 2 Mars 2007 Jean Luc, ton RedirectPermanent me donne également erreur404 mais avec la page 404 de mon site. J'ai laissé mon .htaccess avec ce redirect permanent pour guide.php afin que tu puisses voir le résultat. Les autres pages comme references.php sont restées avec l'ancienne syntaxe de RewriteRule et donnent toujours l'erreur "Impossible d'afficher la page" au niveau d'IE. Qu'est-ce qui te fait dire que mon code ne fonctionne pas normalement ? Georges, si il y avait un problème au niveau du code la page cible http://www.webologix.com/index.php?Itemid=...option=com_linx ne s'afficherait pas, non ? Pour les url absolues tu as raison, j'ai toujours vu ça comme ça et je croyais que ça ne marchait pas en relatif. Une autre idée, car je suis toujours bloqué ?
Dan Posté 2 Mars 2007 Posté 2 Mars 2007 sinon, pourquoi tu fais une différence entre les urls relatives et absolues ? habituellement je code : RewriteRule ^guide.php$ index.php?Itemid=...option=com_linx [R=301] Déjà, pour débugger, il y a des caractères en trop... Qu'est-ce qui te permet d'affirmer que l'URL est bien guide.php et non /guide.php ? Donc si on veut s'assurer du fonctionnement, on écrira plutôt: RewriteRule guide.php index.php?Itemid=32&option=com_linx [R,L] En faisant éventuellement précéder index.php par un / si on est sur un mutualisé OVH. Et je remarque que tu as tendance à oublier le flag [L] (pour Last) ... il n'est pas indispensable en cas de réécriture externe, mais l'est pour les réécritures internes.
kmchen Posté 2 Mars 2007 Auteur Posté 2 Mars 2007 Déjà, pour débugger, il y a des caractères en trop... Où ça ? Qu'est-ce qui te permet d'affirmer que l'URL est bien guide.php et non /guide.php ? Rien. J'ignorais même qu'il y ait une différence. Donc si on veut s'assurer du fonctionnement, on écrira plutôt: RewriteRule guide.php index.php?Itemid=32&option=com_linx [R,L] Alors là merci beaucoup Grâce à ce petit "L" ça marche avec IE...mais avec FIREFOX l'url est maintenant modifiée en insérant le chemin complet depuis la racine du serveur (dédié) ! /home/webologi/www Et je remarque que tu as tendance à oublier le flag [L] (pour Last) ... il n'est pas indispensable en cas de réécriture externe, mais l'est pour les réécritures internes. Je suis vraiment un newbie en la matière, je ne connaissais même pas ce flag, pas vraiment les autres non plus,précisément. Je me suis jusqu'à présent contenté de récupérer des conseils sur le WEB de ceux qui connaissent vraiment Apache. Last veut-il dire qu'on arrête le traitement après cette règle ?
Dan Posté 2 Mars 2007 Posté 2 Mars 2007 Alors là merci beaucoup Grâce à ce petit "L" ça marche avec IE...mais avec FIREFOX l'url est maintenant modifiée en insérant le chemin complet depuis la racine du serveur (dédié) ! /home/webologi/www Je suis vraiment un newbie en la matière, je ne connaissais même pas ce flag, pas vraiment les autres non plus,précisément. Je me suis jusqu'à présent contenté de récupérer des conseils sur le WEB de ceux qui connaissent vraiment Apache. Last veut-il dire qu'on arrête le traitement après cette règle ? Pour que l'URL ne soit pas modifiée il faut enlever le flag R (qui force une réécriture externe). Je l'ai laissé mais c'est un oubli de ma part. Donc ta règle devient: RewriteRule guide.php index.php?Itemid=32&option=com_linx [L] Le flag L dit à mod_rewrite qu'il faut arrêter letraitement des réécritures si cette règle est validée. Sinon, il continue avec les règles suivantes.... (comportement par défaut), et si tu as une règle qui traite index.ph, elle sera exécutée elle aussi. Il vaut mieux mettre TOUJOURS le L, sauf lorsque tu sais avec certitude ce que tu fais Dan PS: je te suggère d'aller lire les articles dans les publications du Hub, voir ceux de cette page: http://www.webmaster-hub.com/publication/_Dan_.html
edeffi Posté 2 Mars 2007 Posté 2 Mars 2007 Salut A la décharge de kmchen les ressources type celles du hub, sont asez rares sur le sujet (ou pas "facile à trouver" selon mes habitudes de recherche). On trouve du très technique ou du "light" très facilement, mais l'intermédiaire (pédagogique et exhaustif !!) J'ai moi même mis les pieds dans le rewrite, mais c'est avec un certain "coup de bol" que cela c'est bien passé ++
Dan Posté 2 Mars 2007 Posté 2 Mars 2007 Pourtant, sur mod_rewrite on sort plutôt bien... même devant Apache http://www.google.fr/search?hl=fr&q=mo...oogle&meta=
edeffi Posté 2 Mars 2007 Posté 2 Mars 2007 Re' C'est pour ça que j'ai bien spécifier selon mes "habitudes de recherche", J'ai pas cherché mod_rewrite Pour illustrer ma "critique" l'exemple du sigle ^ est intéressant. J'avais bien lu l'article du hub (merci au passage ), mais voilà ce qu'il en dit: cest la première partie de la règle, celle qui determine la chaîne de caractères que le module devra rechercher pour la réécrire. Elle contient deux caractères spéciaux marquant le début (^) et la fin ($) de la ligne Formulé comme ça, j'avais compris que ce sigle était obligatoire en début de règle J'ai été surpris quand tu l'as enlevé ci avant Sont quand même bien les articles du Hub hein , mais pas trop pour les nuls ++
kmchen Posté 5 Mars 2007 Auteur Posté 5 Mars 2007 Tout marche parfaitement maintenant et en plus j'ai compris plein de choses en peu de temps là où il m'aurait fallut des heures à compulser des docs pas fraiches. Une dernière question cependant : comment faire une redirection permanente R=301 sans qu'Apache me mette tout le chemin depuis la racine physique du serveur au lieu de la racine du serveur virtuel: http://domaine.com/nouveau_fichier.php et non http://domaine.com/home/domaine/www/nouveau_fichier.php Merci pour votre aide éclairée et efficace
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant