Si je comprends bien, le paramètre est un moyen de suivre le visiteur du site afin que si votre site inclut de la publicité de Facebook, il puisse le personnaliser pour qu'il corresponde aux habitudes de navigation enregistrées du visiteur.
La mod_rewrite
solution Apache ci - dessus est problématique car elle supprime toute la chaîne de requête. Si l'URL avait déjà une chaîne de requête, cela la cassera. Pour supprimer uniquement le fbclid
paramètre, il est utile de noter que Facebook l'ajoute toujours à une URL, donc c'est toujours le dernier. Cela simplifie mod_rewrite
un peu le code. C'est ce que je fais:
# Strip Facebook spyware tokens
RewriteCond %{REQUEST_METHOD} =GET [NC,OR]
RewriteCond %{REQUEST_METHOD} =HEAD [NC]
RewriteCond %{QUERY_STRING} ^(.*)&?fbclid=[^&]+$ [NC]
RewriteRule ^/?(.*)$ /$1?%1 [NE,L,R=301,E=limitcache:1]
Header always set Cache-Control "max-age=604800" env=limitcache
L' E=limitcache:1
indicateur et la Header
directive limitent la durée de mise en cache de la redirection 301. Par défaut, de nombreux navigateurs le mettent en cache pour toujours . Cela réduit cela à une semaine (ou 604 800 secondes). Je suis peut-être minoritaire à penser cela, mais cela me semble une bonne pratique. Je ne sais pas combien de temps les fbclid
jetons persistent, mais s'ils sont durables, cela signifie que Facebook dirigera les visiteurs vers les mêmes URL pendant longtemps, et si vous souhaitez un jour soutenir les publicités ciblées de Facebook, ou si elles commencent. en utilisant fbclid
pour d'autres fonctionnalités dont vous avez besoin, vous pouvez trouver que ces redirections mises en cache en permanence reviennent à mordre. Mais si vous êtes prêt à le risquer, vous pouvez supprimer à la fois la Header
directive et l' E=limitcache:1
indicateur.
Les deux tests de %{REQUEST_METHOD}
visent à empêcher Apache de rediriger les requêtes POST (ou des requêtes plus ésotériques comme PUT ou DELETE, si elles sont pertinentes). La plupart des navigateurs changent la demande en une demande GET sur une redirection 301 ou 302, ce qui est explicitement autorisé par la RFC 7231 . Il existe un nouveau code de redirection 308 qui ne doit pas avoir sa méthode réécrite, mais malheureusement, il n'est pas pris en charge par Internet Explorer sur Windows 7 (et ne le sera probablement jamais).