Permalink.create 使用阿拉伯语 slug 不起作用!

您好

简单来说,我以前的 bbpress 只使用阿拉伯字符作为 slug,没有 ID,只有 /post-title

因此,当我尝试使用 Permalink.create(url: '/Arabic-title', topic_id: 3708), 时,Permalink 被创建了,但链接不起作用,并且会显示链接不存在。

问题是我有超过 12,000 个链接分布在互联网上,这些链接使用了阿拉伯语 slug,我不想丢失所有这些反向链接。

我目前在旧服务器上使用 htaccess(/Arabic-title) 重定向到 (newdiscourse/t/topic_id),但由于有 12,000 个链接,文件大小已达到 2MB,我担心这可能会导致 301 重定向变慢,但目前一切正常。

有什么建议吗?

我会从一个只有一两个字符的简单示例开始。我不记得 URL 是否应该以斜杠 / 开头,或者它是否重要(可能不重要,但这是我会尝试的第一件事)。

1 个赞

确实,我尝试过使用 Permalink.create 创建 2 到 3 个链接,并且尝试过使用 // 和不使用 //,但对于英文链接, Permalink.create 可以正常工作,而如果链接使用阿拉伯语的 slug,则无法正常工作。

1 个赞

那么旧服务器和新服务器的主机名不同吗?我可能会坚持使用它。如果旧服务器上的 301 跳转很慢,那也无关紧要,因为只有 301 跳转会去那里。

如果团队没有人回应,接下来你可以尝试在核心代码中添加调试信息,看看它到底在寻找什么。这可能是个 bug,因为阿拉伯语可能没有经过测试,而且从右到左的显示方式可能会产生影响。(这都是猜测。)也许可以尝试一个反向的 3 个字符的 slug?

我真的很感谢你的回复。@pfaffman

当然,旧服务器有不同的主机名,并且只托管 htaccess 文件,其中包含 12k 个旧链接的 301 重定向,并且运行良好。就像我说的,我只担心重定向速度。

我相信我应该跳过使用永久链接选项。

1 个赞