Remplacement separateur ancres

Biloubou

Nouveau WRInaute
Bonjour à tous,

Quelqu'un pourrait-il m'aider à résoudre mon problème sur lequel je me prends la tête depuis 2 jours ?
Voilà mon problème : j'ai des liens sur plusieurs pages web du type
Code:
mapage1.php#ma.premiere.ancre
mapage1.php#une.deuxieme.ancre
mapage1.php#puis.une.troisieme.ancre
etc ...
J'ai dû remplacer le point (.) de mes ancres par des underscore (_) à cause d'un script jquery qui déconnait, ce qui me donne
Code:
mapage1.php#ma_premiere_ancre
mapage1.php#une_deuxieme_ancre
mapage1.php#puis_une_troisieme_ancre
Étant donné que je voudrais que les backlinks vers mes pages dirigent toujours les visiteurs sur les bonnes ancres de ces pages, il me faut trouver l'expression régulière qui va bien à placer dans mon htaccess. Et c'est là que commencent mes problèmes car comme sur l’exemple, le nombre de séparateurs de mots (les caractères underscore) n'est pas fixe, sinon ce serait facile... Pour 2 séparateurs, ça donnerait quelque chose du genre :
Code:
RewriteRule  ^(.*)\.php#(.*)\.(.*)\.(.*) $1\.php#$2_$3_$4

Mais avec un nombre indéfini de séparateurs, je ne vois vraiment pas. Une idée ?
D'avance merci.
 

Biloubou

Nouveau WRInaute
Merci de ta réponse spout mais je ne suis pas sûr de bien la comprendre. Je m'explique : si dans mon navigateur je saisis l'adresse

Code:
mapage1.php#ma.premiere.ancre
celui-ci m'affiche bien mapage1.php positionnée sur ma.premiere.ancre. Comment est-ce possible si comme tu dis, le hash n'est pas envoyé au serveur ? Pardonne mon ignorance mais par quel mystère le navigateur peut-il me positionner sur la bonne ancre si le serveur ne tient pas compte de ce hash car, à ce que je sache, c'est bien le serveur qui envoie la page au navigateur, non ?
Bref, même si ce n'est pas clair dans mon esprit, dois-je en conclure que ce que je cherche à faire est impossible par htaccess ?
Peut-être alors avec un javascript dans chaque page concernée, je pourrai y arriver ?
 

spout

WRInaute accro
Oui le serveur envoie la page: mapage1.php ... tout le reste c'est le browser qui gère.
Bien que maintenant, on lit ce location.hash en JS afin de modifier le contenu de la page en AJAX. Mais quoi qu'il arrive, "#ma.premiere.ancre" ne sera pas transmis au serveur par défaut.
 

Biloubou

Nouveau WRInaute
Je viens d'éditer mon message pendant que tu me répondais (t'es rapide, lol !) car je viens juste de percuter sur la gestion du hash en javascript.

Merci pour m'avoir fait percuter spout, tu mérites tes 5 étoiles :wink:
 

Biloubou

Nouveau WRInaute
Je vais aller zieuter, les deux liens que tu me proposes, étant certain d'y trouver ce que je cherche.
problème résolu en moins de 10 minutes ! Un très grand merci à toi :wink:
 

Discussions similaires

Haut