感谢 @Falco 和 Discourse 团队的修复 ![]()
将 slug 生成方式改为 encoded 后,404 主题问题得到了解决(无需重新生成 slug)。
但我们仍然遇到了“分类未找到”的问题,我在测试环境的 Discourse 上尝试了各种方法,以确保不会搞砸 ![]()
问题描述
- 当我将 slug 生成方式改回
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
- 当我将 slug 生成方式改为
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
解决方案
- 将 slug 生成设置改为 ascii
- 在每个分类页面中将分类 slug 改为英文
- 将 slug 生成设置改为 encoded
- 现在你可以将分类 slug 改为你选择的语言