renato
(Renato Atilio)
1
まず、これは /f サブフォルダに特化した、私の環境に 非常に 固有のエッジケースです。
ハンバーガーメニューの Discourse リンクは、/faq が /f で始まる ため、サブフォルダを含まない /faq を指しています。
以下の引用を考慮してください:
おそらく、以下のように変更できるでしょう。
const found = url.startsWith(baseUri);
を
const found = url === baseUri || url.startsWith(`${baseUri}/`);
のように変更します。これにより、/f、/f/、/f/faq には一致しますが、/faq には一致せず、後者に対して正しく baseUri が先頭に付加されます。
とにかく、ルート自体も機能していません。/f/faq は 404 エラーを返します。したがって、ルーターレベルでも同様のロジックが存在していると思われます。以前、/f/following も機能していなかったことに気づきました(cc @merefield)。
最後に、回避策として faq url サイト設定を /f/guidelines に変更しました。これによりリンクと 404 エラーは解消されましたが、ナビゲーションバーに「Guidelines」と「FAQ」の両方の用語が表示され、どちらも faq url に設定されているページへリンクするという、少し奇妙な現象が発生しました(実際のページ で確認できます):
3 つの課題をまとめたような「何でもあり」のトピックで申し訳ありませんが、これらは密接に関連しているため、適切に分離するのは難しいと思います。
ありがとうございます。
「いいね!」 2
renato
(Renato Atilio)
2
get-url 問題に対応する PR を送信しました:
/f/faq および /f/favicon/proxied での 404 エラーについてですが、コンテナ内で Nginx をバイパスしてこれらのルートに CURL を実行すると正常に動作します。Serve Discourse from a subfolder (path prefix) instead of a subdomain で説明されている location ディレクティブを location /subfolder から location /subfolder/ に変更することで、この問題を解決できました。
ナビゲーションバーに「Guidelines」と「FAQ」の両方が表示されるのは 予期される動作 です。ユーザーが同じ URL で faq url を上書きすることはまずあり得ません。
「いいね!」 5
sam
(Sam Saffron)
3
これでクローズして問題ありませんか?
NGINX の問題は修正され、より詳細なドキュメントも追加されましたか?
「いいね!」 1
renato
(Renato Atilio)
4
はい、問題ありません。ハウツートピックの変更を提案しました。
ありがとうございます。
「いいね!」 1
sam
(Sam Saffron)
5
ああ、それはウィキですよ、自由に編集してください!
「いいね!」 1