MiG
1
Discourse のパーマリンク機能は本当に気に入っています。
例えば、私は https://fortmactech.com/riverbreak に写真や動画を収集しています。これは実際のトピックの長い URL に転送されます。
問題なのは、それが Facebook で投稿され、誰かがそれをクリックすると、Facebook が末尾に fbclid という不要なパラメータを追加してしまうことです。そのため、URL は次のようになります。
https://fortmactech.com/riverbreak?fbclid=IwAR1E9PoBxuWURZRJlA4D0VrnESbfjGfC2xKuvVJzCRUmIJy7ZRKMkkH8I-U
すると、Discourse で 404 エラーが発生してしまいます。
Discourse に fbclid パラメータを無視させる方法はありませんか?
MiG
2
おそらく「パーマリンクの正規化」設定で対応できると思いますが、正規表現がわかりません。基本的には「?fbclid=」以降をすべて削除する必要があると思います。
rmens
3
これにも興味があります。これは Google アナリティクスのデータを汚染しています。
MiG
4
Cloudflare のページルールで解決できました:

ただし、Discourse 側で対応したいと考えています。
simon
5
https://fortmactech.com/riverbreak を https://fortmactech.com/t/river-drone-videos-photos-2021/818 に転送する方法を教えてください。
トピック URL にクエリパラメータを追加しても問題が発生しないようです。例えば、以下の URL は動作するはずです: https://fortmactech.com/t/river-drone-videos-photos-2021/818?fbclid=IwAR1E9PoBxuWURZRJlA4D0VrnESbfjGfC2xKuvVJzCRUmIJy7ZRKMkkH8I-U。したがって、問題は https://fortmactech.com/riverbreak に対して設定されているリダイレクトに関連しているようです。
MiG
6
Cloudflare を使うことで、ある程度解決できました。404 エラーが発生している様子を確認したい場合は、しばらく Cloudflare のページルールを無効にしています。
例として、以下のリンクをお試しください:
https://fortmactech.com/riverbreak?fbclid=IwAR1E9PoBxuWURZRJlA4D0VrnESbfjGfC2xKuvVJzCRUmIJy7ZRKMkkH8I-U
管理者画面の「設定」>「パーマリンク」で、以下のように追加しました:

追加後の様子は以下の通りです:
そして、結果は次のようになります:
末尾にスラッシュ(/)を付けた場合も試しました。
Cloudflare のページルールで、Discourse に到達する前に fbclid などのパラメータを削除するように設定すると、問題なく動作します。
これは、Discourse の「パーマリンクの正規化」機能の目的なのでしょうか?また、その設定を使って「?」以降の部分を削除することは可能でしょうか?
simon
7
詳細をありがとうございます。クエリパラメータがDiscourseのパーマリンクリダイレクトを壊しているようです。これが意図された動作かどうかはわかりません。
riking
(Kane York)
8
確かに予想通りです。forum.php?topic_id=1234 のようなパーマリンクに頻繁に使用されています。
MiG
9
なるほど。パーマリンクコードによって解析される前に、受信した URL を「変換」する方法はありますか?それは「パーマリンク正規化」機能のことでしょうか?
justin
(Justin DiRose)
10
はい、パーマリンクの正規化はまさにそのためにあります 
MiG
11
Permalinks Normalization 設定を使って、?fbclid= とその後の部分を削除する方法の例を教えてください。よろしくお願いいたします。