@Falco さんと Discourse チームの方々に、修正をいただきありがとうございます ![]()
スラッグ生成を encoded に変更したところ、スラッグを再構築する必要もなく、404 エラーが発生するトピックの問題が解決しました。
ただし、カテゴリが見つからない という問題には依然として直面しています。 本番環境で混乱を招かないよう、ステージング環境の Discourse で試行錯誤しました ![]()
問題の説明
- スラッグ生成を
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
- スラッグ生成を
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
解決策
- スラッグ生成設定を
asciiに変更 - 各カテゴリページからカテゴリのスラッグを英語に変更
- スラッグ生成設定を
encodedに変更 - これで、カテゴリのスラッグを任意の言語に変更できるようになります