この数か月、Facebookからのリンクに必ず付く、URL後半の fbclid ではじまる長い文字列が、気になって気になって嫌だと思っていたところ、ふと気づいたら、自サイト(pukiwiki)へのリンクが正常に動作していない。いつからだっただろう。
たとえばだが、wiki文法の場合は余計な文字列が付いた場合に「そのページはありませんが作成しますか」という意味合いを込めて、ログイン画面を出してしまうのである。このパラメータが付くようになったのは昨年の暮れも近づいたころだったと思うし、いくらなんでも9か月自分が気づいていなかったとは思えず、一時的なエラーかどうかが、よくわからずにいた。
とりあえず、Facebookのサポートには「wiki文法で書かれたサイトに正常リンクできない」とメールを出したが、例によって返事もなければ対応もなかった。
そして、今日になってわたしが「そうか、Facebookから出るリンクにある fbclid 以下を、来た人のブラウザから取ってしまえばいいんだ」と、自分なりに調べて .htaccess にその方法を書いてみた。
トップページがリンク先であった場合にはそれで文句なく動いた。有頂天になりかけたが、内部ページにリンク先があった場合には、うまく動かない。Facebookからのリンクにつくパラメータだけを削除しているつもりだが、なぜか誤動作を起こしてしまうらしい。トップページのみ動いても意味がないので、泣く泣く .htaccess を元どおりにしたが…そのとき、Facebookの画面からクリックしたリンクが、fbclid が付いていても、ちゃんと飛べるようになっていると気づいた。
なんだそれは。
キツネにつままれた気分である。普段はFacebookにログインしていないブラウザも含めて複数の状況で試したが、動く。
Facebookが対応したのか…あるいはそもそもが一時的な不具合で、数日間だけおかしかったのか。わたしは28日ころpukiwikiのバージョンを上げたが、そのことが関係しているとは思えない。バージョンを上げたときに不具合がないかどうかをあちこちチェックして回ったのだから、気になっていたFacebookからのリンクも押したと思われる。
だが、これだけ苦労したというのに、いまのところ、見た目は悪いにせよ直ってしまっている。
ちなみに .htaccess を使ってFacebookのパラメータを削除する方法は、こちらのページを参考にして、自分のサイトにもともとあったものと組み合わせてみた → How to remove Facebook’s fbclid parameter using mod_rewrite on Apache 2.4
トップページ (baum.mikimaru.net) へのリンクはすっきり動作しても、内部ページではエラーになった。内部ページでも動くようなら、今後はぜひ使いたいと思っている。
文法は合っていたと思われる。.htaccessの文法チェックというものはないのかと検索したら、こちらのサイト( → https://tkc-design.com/web-develop/htaccesscheck/ )に、英語サイトの http://www.htaccesscheck.com というシンプルなものが紹介されていたので、そこで文法チェックをおこなってからの編集だった。文法問題ではないと思われるのだが、自己流で編集したので、何かがよくなかったのだろう。
それにしても、一時的な不具合だったのか、Facebookが直したのか、わたしがpukiwikiのバージョンアップをしたことが関係あるのか、とにかく現在のところは、落ちついている。