質問: fbclidとは何ですか?新しいfacebookパラメータ 2日間、私は自分がfacebookに公開しているurlにパラメータが追加されていることに気付きました。 ?fbclid=ufcrbkugevkg... より正確には、次のようになります。http://example.com?fbclid=ufcrbkugevkg...誰もがこのパラメータが何をするのか知っていますか? それは何のためにあり、開発者は何を使用していますか?コメントしてくれてありがとう。
回答: ご存じのとおり、このパラメータはサイトの訪問者を追跡する手段であり、サイトにfacebookの広告が含まれている場合は、訪問者の記録された閲覧習慣に合わせてカスタマイズできます。apacheのmod_rewrite 上記の解決方法 はクエリ文字列全体を削除するので問題があります。 urlに既にクエリ文字列が含まれている場合は、これが壊れます。 fbclidパラメータだけを削除するには、facebookが常にそれをurlに追加することに注意してください。それはmod_rewriteコードを少し単純化します。これが私がすることです:# 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 e=limitcache:1フラグとheaderディレクティブは301リダイレクトがキャッシュされる期間を制限するためのものです。デフォルトでは多くのブラウザ 文字通りキャッシュする forever 。これはそれを1週間(または604,800秒)に減らします。私はこれを考えることで少数派かもしれませんが、それは私には良い習慣のようです。 fbclidトークンがいつまで続くのかわかりませんが、それらが長続きするのであれば、facebookは訪問者を同じurlに長期間誘導することになります。また、facebookのターゲット広告をサポートしたい場合、またはあなたが必要とする他の機能のためにfbclidを使い始めると、あなたはこれらの永久的にキャッシュされたリダイレクトが噛み付いて戻ってくるのを見つけるかもしれません。しかし、リスクを冒しても構わない場合は、headerディレクティブとe=limitcache:1フラグの両方を削除することができます。%{request_method}の2つのテストは、apacheがpost要求(または、関連している場合はputやdeleteなどの難解な要求)をリダイレクトしないようにすることです。ほとんどのブラウザは301または302リダイレクトでgetリクエストになるようにリクエストを変更します。これは rfc 7231 によって明示的に許可されています。 新しい308リダイレクトコード がありますが、そのメソッドを書き換えてはいけませんが、残念ながら windows 7上のinternet explorerではサポートされていません (そしておそらく決してそうなることはありません).