web-dev-qa-db-fra.com

Une URL avec une ancre # peut-elle être redirigée dans .htaccess?

Je crois que cela ne peut pas être fait, mais il serait bon de le confirmer de toute façon. Pour savoir s'il vaut la peine d'investir plus de temps ou non.

Un fichier .htaccess peut-il réécrire/rediriger:

example.net/postname#heading2

être redirigé vers:

example.com/postname#heading2

?

Je commence à supposer que le serveur ne voit rien après le #. J'essaie également d'ajouter un paramètre UTM après #heading2 dans le processus. La réécriture actuelle ajoute #heading2, directement après le paramètre UTM.

Toute confirmation serait appréciée.

EDIT: Apparemment, je comprenais mal le problème en raison de la combinaison d'ancres avec des paramètres UTM. L'URL était correctement redirigé via .htaccess, c'est juste que je ne savais pas que le #anchor devrait toujours aller à la fin de l'URL, même s'il y a un paramètre UTM avant. référence . Par conséquent, la bonne URL devait toujours ressembler à ceci:

example.com/postname/?utm_source=XYZ#heading2
4
mvsainz

Non.

L'ancre est un paramètre uniquement côté navigateur qui n'est pas envoyé au serveur.

Vous devez soit transformer le #anchor en une chaîne de requête ou un chemin, soit disposer de JavaScript qui permette de gérer ce cas particulier.

Si vous connaissez l'ancre spécifique, il serait utile de disposer d'une URL spécifique qui la comprend. Mais cela revient à placer ce paramètre dans une chaîne de requête ou dans le chemin.

Twitter utilisait un peu la capacité d'ancrage, mais tout son code utilisait JavaScript pour récupérer les données à afficher. C'est pourquoi cela a bien fonctionné pour eux.

4
Alexis Wilke