URLに日本語を含むトピックは、URLが完全に一致しない場合、リダイレクトされない

私たちも同じ問題に直面していましたが、@Falco が昨日それを解決しました。

Discourse インストールをアップグレード(https://myforum.example.com/admin/upgrade を通じて)し、アップグレード後にスラッグを「リベイク」する必要があります。その手順については @Falco の指示に従ってください:

これらの手順は私たちにとって完璧に機能しました :D(ちなみに @Falco ありがとう!)

「いいね!」 5

この解決策で問題が解決しました。スラッグを再構築する必要がありました。


@Falco さん、この問題を解決するために多大なご尽力をいただき、誠にありがとうございます。

また、@codinghorror さん、@sam さん、そして Discourse のような無料で提供されているプロジェクトのために長年の経験を活かし、インターネットをより良い場所にするために尽力してくださる皆様にも心から感謝申し上げます。

皆様のご尽力に心から感謝いたします。

「いいね!」 8

@Falco さんと Discourse チームの方々に、修正をいただきありがとうございます :rose:

スラッグ生成を encoded に変更したところ、スラッグを再構築する必要もなく、404 エラーが発生するトピックの問題が解決しました。

ただし、カテゴリが見つからない という問題には依然として直面しています。 本番環境で混乱を招かないよう、ステージング環境の Discourse で試行錯誤しました :grin:

問題の説明

  1. スラッグ生成を ascii に戻した場合:

カテゴリは正常に動作し、生成された URL も問題ありません(アラビア語が期待通りに表示されます):

https://discourse.coretabs.net/c/%D8%A7%D9%84%D8%A3%D8%B3%D8%A6%D9%84%D8%A9-%D9%88%D8%A7%D9%84%D8%A7%D8%B3%D8%AA%D9%81%D8%B3%D8%A7%D8%B1%D8%A7%D8%AA

しかし、トピックの生成された URL は英語のままです(タイトルは実際にはアラビア語ですが):

https://discourse.coretabs.net/t/5-mktbat-baythwn-mfydt-lmsharye-telym-alalt/2930/5
  1. スラッグ生成を encoded に変更した場合:

カテゴリは動作しません(「おっと!そのページは存在しないか、非公開です」と表示されます)が、生成された URL は問題ありません(アラビア語が期待通りに表示されます):

https://discourse.coretabs.net/c/%D8%B9%D8%A7%D9%85

トピックは正常に動作し、アラビア語の URL が期待通りに生成されます:

https://discourse.coretabs.net/t/5-%D9%85%D9%83%D8%AA%D8%A8%D8%A7%D8%AA-%D8%A8%D8%A7%D9%8A%D8%AB%D9%88%D9%86-%D9%85%D9%81%D9%8A%D8%AF%D8%A9-%D9%84%D9%85%D8%B4%D8%A7%D8%B1%D9%8A%D8%B9-%D8%AA%D8%B9%D9%84%D9%8A%D9%85-%D8%A7%D9%84%D8%A2%D9%84%D8%A9/2930/5

解決策

  1. スラッグ生成設定を ascii に変更
  2. 各カテゴリページからカテゴリのスラッグを英語に変更
  3. スラッグ生成設定を encoded に変更
  4. これで、カテゴリのスラッグを任意の言語に変更できるようになります
「いいね!」 5

他のサイトにリンクを共有すると、リンクが以下のようになります。

E0%AE%AE%E0%AE%BF%E0%AE%A9%E0%AF%8D%E0%AE%A9%E0%AE%B2%E0%AF%8D-%E0%AE%B5%E0%AE%BF%E0%AE%B4%E0%AE%BF%E0%AE%AF%E0%AF%87-%E0%AE%95%E0%AF%81%E0%AE%9F%E0%AF%8D%E0%AE%9F%E0%AE%BF%E0%AE%A4%E0%AF%8D-%E0%AE%A4%E0%AE%BF%E0%AE%AE%E0%AE%BF%E0%AE%B0%E0%AF%87-2/1154/3

URL 内でのエンコーディングは正常に動作しています。

image

しかし、URL をコピーしてどこかに貼り付けると、以下のようになります。

Discourseを最新リリースにアップグレードしました。

また、@Falco が言及したようにスラッグを再構築しましたが、同じ問題に直面しています。:frowning:

それは問題ではなく、仕様通りの動作です。

多くの場所では、IRI(「特別な」文字を含む URL)がサポートされていないため、それらをエンコードしています(%XX が多数含まれるように)。これにより、Twitter への投稿など、どこでも正しく動作します。

お使いのブラウザは、それを自動的に復号して表示するようになっているため、アドレスバーでそのまま表示されるのをじっと見る必要はありません。

「いいね!」 10

教えてくれてありがとう!@Falco :slight_smile:
どこかに共有する前に URL 短縮サービスを使います。

「いいね!」 3

community.wanikani.com の複数のユーザーが、元の問題の修正に既に気づいており、私にとってもそれは良い修正に見えます。ただし、他の人が指摘しているのと同じサブカテゴリの問題(Unicode 文字を含むサブカテゴリで 404 エラーが発生する)がまだ見られます。ホストされているサイトですので、最新の修正をデプロイし、必要であればリベイクを行って、完全に修正されたことを確認してもらえませんか?もしそれができない場合は、1 週間後に再度確認しようと思います。

「いいね!」 1

はい、来週の初めならできます。

「いいね!」 3

ここにある修正方法を確認する必要があります:

「いいね!」 3

サイトが最新バージョンにデプロイされ、スラッグが再構築されました。

「いいね!」 4

上記で述べた通り、私のケースは解決したように見えました :roll_eyes: ですが、「Categories」で「アクセント」を含む場合、それらは表示されるものの、2 ページ目が読み込まれません :unamused:

slugsencoded 形式になっています。

カテゴリ名を手動で編集してアクセントを削除すると、期待通りに動作しますが、それ以外の場合は動作しません。

「いいね!」 1

先週金曜日にサブカテゴリの修正が適用されましたので、必ず最新バージョンに再度更新してください。更新には /admin/upgrade にアクセスしてください。

「いいね!」 3

このトピックは7時間後に自動的に閉鎖されました。新しい返信は許可されていません。