Soweit ich weiß, dient der Parameter dazu, den Website-Besucher zu verfolgen. Wenn Ihre Website Werbung von Facebook enthält, kann er diese an die aufgezeichneten Surfgewohnheiten des Besuchers anpassen.
Die mod_rewrite
obige Apache- Lösung ist problematisch, da sie die gesamte Abfragezeichenfolge entfernt. Wenn die URL bereits eine Abfragezeichenfolge hatte, wird diese unterbrochen. Um nur den fbclid
Parameter zu entfernen, ist es nützlich zu beachten, dass Facebook ihn immer an eine URL anfügt, sodass er immer der letzte ist. Das vereinfacht den mod_rewrite
Code ein wenig. Das ist was ich mache:
# 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
Das E=limitcache:1
Flag und die Header
Anweisung sollen begrenzen, wie lange die 301-Umleitung zwischengespeichert wird. Standardmäßig zwischenspeichern viele Browser es buchstäblich für immer . Dies reduziert dies auf eine Woche (oder 604.800 Sekunden). Ich mag in der Minderheit sein, wenn ich das denke, aber das scheint mir eine gute Praxis zu sein. Ich weiß nicht, wie lange fbclid
Token bestehen bleiben, aber wenn sie lange halten, bedeutet dies, dass Facebook Besucher für lange Zeit auf dieselben URLs verweist und ob Sie jemals die gezielten Anzeigen von Facebook unterstützen möchten oder ob sie starten Wenn Sie die fbclid
für andere Funktionen verwenden, die Sie benötigen, werden diese permanent zwischengespeicherten Weiterleitungen möglicherweise wieder aktiviert. Wenn Sie jedoch bereit sind, dies zu riskieren, können Sie sowohl die Header
Direktive als auch die E=limitcache:1
Flagge löschen .
Die beiden Tests von %{REQUEST_METHOD}
sollen verhindern, dass Apache POST-Anforderungen umleitet (oder mehr esoterische Anforderungen wie PUT oder DELETE, falls sie relevant sind). Die meisten Browser ändern die Anforderung in eine GET-Anforderung bei einer 301- oder 302-Umleitung, was von RFC 7231 ausdrücklich zugelassen wird . Es gibt einen neuen 308-Umleitungscode , dessen Methode nicht neu geschrieben werden muss. Leider wird er von Internet Explorer unter Windows 7 nicht unterstützt (und wird es wahrscheinlich auch nie sein).