- 状态
- 已解决
- 解决于
- 3.3.8
问题概述
当您访问别名(以及相应的 URL)中包含非 ASCII 字符的文章或页面时,会发生持续的重定向。
发生这种情况是因为处理此类字符的方式——它们需要经过正确的转换和转义,以便能够用作 URL。
为了实现这一点,会使用 urlencode 和 urldecode 函数。
您可以通过以下两个链接了解有关此主题的更多信息:
- 为什么我应该使用 urlencode?(Stack Overflow)
- 统一资源标识符 (URI)(Internet Engineering Task Force)
临时解决方法
- 前往 wp-content/sitepress-multilingual-cms/classes/query-filtering/class-wpml-query-parser.php 的第 421 行。
- 在 is_permalink_part_of_request() 中,将
return substr( trailingslashit( $request_uri ), 0, strlen( $permalink_path ) ) === $permalink_path;
替换为:
return substr( trailingslashit( urldecode( $request_uri ) ), 0, strlen( $permalink_path ) ) === $permalink_path;