複数の末尾または配置ミスのあるスラッシュは、ページを空白ページとして読み込む原因となる可能性があります

https://try.discourse.org/ は動作しますが、https://try.discourse.org// は Safari と Chrome で空白のページが表示されたままフリーズします。

meta.discourse.org にも同様の現象が起き、ドメイン名の後にスラッシュを追加すると(例:https://meta.discourse.org//top/weekly)、フリーズします。

「いいね!」 1

ページが読み込まれない原因は、余分なスラッシュ(/)です。スラッシュが1つであれば、すべて正常に動作します。なぜURLの末尾に余分なスラッシュを使用することにこだわられるのでしょうか?

フォーラムのURL末尾にダブルスラッシュを使用すると、同じく空白ページが表示されます。これは予想通りです。

「いいね!」 1

原因は把握しています。ブラウザのアドレスバーにフォーラムのドメイン名を入力すると、自動的に単一のスラッシュに補完されますが、ユーザーが末尾に余分なスラッシュを追加した場合、Discourse フォーラムでは空白ページが表示されてしまいます。これは望ましい動作ではなく、再現可能で、すべての URI において一貫して発生します。

さらに、ブラウザのオートコンプリート機能が二重のスラッシュを追加してしまうという問題もあります。空白ページ形式ではエラーがスローされないため、ブラウザがオートコンプリートの履歴を削除するまで、フォーラムは常に空白の状態で表示され続けることになります。

「いいね!」 1

https://apnews.com// と入力すると、Associated Press のウェブサイトへ移動しますが、404 エラー(ページが見つかりません)が表示され、コンテンツは読み込まれません。私が確認した限り、AP が 404 を返すのに対し、Discourse サイトでは 404 ではなく空白のページが表示される点が唯一の違いです。

自動補完は、入力時に末尾にスラッシュを 1 つだけ表示したままです。

つまり、「バグ」は、二重のスラッシュを使用した場合に 404 を返さないことにあるのでしょうか?

「いいね!」 3

この「バグ」により、フォーラムソフトウェアは Safari や Chrome のコンソールによると多くのメガバイトの情報を依然として読み込んでいますが、表示はされません。

「いいね!」 1

URL のリダイレクトやルーティングが単一のスラッシュを想定している場合、ダブルスラッシュがあると期待された動作が「破綻」します。静的ページであれば、おそらくすべてが正常に読み込まれるでしょう。しかし、動的ページではそこで問題が発生します。URL を直接解析する一部の CGI アプリでも失敗します。さらに、ダブルスラッシュが URL の途中にある場合、一部のサーバーはそれを攻撃の一種と見なすこともあります。

Discourse チームの誰かが、Discourse が複数のスラッシュにどのように対応するかについて、より詳しい説明を提供してくれるかもしれません。しかし、そのようなケースでは 404 エラーを返す方が良いでしょう。

「いいね!」 2

これはバグではありません。404 ページの改善やリダイレクトの実施、あるいは他の対応にも賛成です。

Ember ルーターに些細な変更が必要なのかもしれません。私は詳しくありませんので、Ember の専門家に任せることにします。

「いいね!」 4

Ember は以前からこの問題を修正しているはずなので、おそらくはカスタムのロケーション関連の処理などが原因でしょう。

今日中に確認します。

「いいね!」 6

これで解決するはずです:

「いいね!」 6

extra / でフォーラムの背景が表示されます。teshghost.tk//(私の背景の壁紙が見られます)

「いいね!」 1

このトピックは、最後の返信から5日後に自動的に閉鎖されました。これ以上の新しい返信は受け付けられません。