サイドバーのカスタムリンクが、外部URLのクエリパラメータから内部ホスト名を削除する

サイドバーのカスタムリンクを保存する際に、クエリパラメーター内にサイト自体のホスト名を含む外部リンクを設定すると、ホスト名がクエリパラメーターから不正確に削除され、URLが壊れます。

再現手順

  1. サイドバー設定に移動し、カスタムリンクを追加/編集します
  2. URLを、クエリパラメーターにサイトのホスト名を含む外部リンク(例:自身のサイトにリダイレクトするYouTubeのリダイレクトURL)に設定します
  3. 保存します

期待される動作
クエリパラメーター内のホスト名を含む完全なURLが、入力されたとおりに保持されます。

実際の動作
サイトのホスト名がクエリパラメーターから削除されます。例えば、クエリパラメーターの部分が ?q=https://mysite.com/some-path/ から ?q=/some-path/ に変更され、壊れたリダイレクトURLが生成されます。

ユースケース
当社のフォーラム(teskas.net、テスラオーナーコミュニティ)には、Tesla車載ブラウザでフルスクリーンモードを起動するためにYouTubeリダイレクトエンドポイントを使用するサイドバーリンクがあります。リダイレクトを機能させるには、クエリパラメーターにホスト名を含む完全なサイトURLを含める必要があります。

回避策
クエリパラメーター内のホスト名部分をURLエンコードし、フォームの正規化をバイパスしてデータベースに直接書き込みます。

環境

  • セルフホスト、Discourse v2026.3.0-latest
「いいね!」 1