【发布时间】:2012-03-20 08:17:19
【问题描述】:
发布帖子或页面时,wordpress 会自动从标题生成永久链接。 如果标题包含西里尔字符,则 wordpress 将生成具有相同西里尔字符的永久链接。如何解决此问题并使其在永久链接中仅使用拉丁字符(用拉丁字符替换西里尔字母)。
WP 允许在永久链接中使用非拉丁字符真的很奇怪。我需要破解它的核心来修复它吗? 有任何想法吗... 谢谢!!
【问题讨论】:
标签: wordpress seo permalinks
发布帖子或页面时,wordpress 会自动从标题生成永久链接。 如果标题包含西里尔字符,则 wordpress 将生成具有相同西里尔字符的永久链接。如何解决此问题并使其在永久链接中仅使用拉丁字符(用拉丁字符替换西里尔字母)。
WP 允许在永久链接中使用非拉丁字符真的很奇怪。我需要破解它的核心来修复它吗? 有任何想法吗... 谢谢!!
【问题讨论】:
标签: wordpress seo permalinks
我假设您了解 WP-Admin 中的“设置”>“永久链接”选项。但我假设你会这样做,所以......
URL 规范要求对非 ASCII 字符进行编码(很好的答案和此处的链接 can't open unicode url with python),看起来这是 WP 的一个长期存在的问题(请参阅 http://core.trac.wordpress.org/ticket/10690)。
我不知道为什么它没有修复——它应该只适用于 URL 的“post slug”部分,当它从博客文章的标题转换时已经“清理”了。当用户编辑 post slug 时,可能会运行相同的代码。您可能需要阅读该错误,看看是否有某些原因导致它仍然处于打开状态。
当然,大多数 Web 服务器对这些 URL 没有任何问题(无论如何,它们可能会在内部转换它们)。可能这就是问题没有得到解决的原因——即使 WP 不遵守 URL 的 RFC 规范,如果它们 99% 的时间都有效,那么真的没有问题。此外,在不剥离特定语言编码的情况下,URL 对用户来说更漂亮,并且更容易让 Google 使用它来查找文档中的内容。
所以也许最好的答案是:如果它没有坏,就不要修复它:-)
【讨论】:
我使用Cyr to Lat enhanced Wordpress 插件,我很高兴。
您甚至可以轻松编辑插件,因为所有字符都在数组中:
$iso9_table = array('А' => 'A', 'Б' => 'B', 'В' => 'V', 'Г' => 'G' ....
如果要编辑插件,请先进行更改,然后激活插件。
【讨论】:
您可以尝试使用 Cyrillic Permalinks 插件为您处理。它支持具有自己的罗马化规则的不同语言。我用它来写保加利亚语的博客。
【讨论】: