【问题标题】:Wordpress is ignoring Unicode Chars in URLWordpress 忽略 URL 中的 Unicode 字符
【发布时间】:2011-01-29 06:00:49
【问题描述】:

我正在使用带有此类永久链接的 wordpress:

/%year%/%monthnum%/%postname%/

如果我使用这种类型的网址: example.com/2010/03/तकनीक

它将这个 url 视为 example.com/2010/03/ (通过忽略 unicode 字符) 并显示 2010 年 3 月的存档列表。

如果我使用英文网址: example.com/2010/03/technology 那么它就完美地工作了。

即使在标签页面上也会出现此问题: 例如 example.com/tag/इंटरनेट 被视为 example.com/tag/ 并显示 404 页面。

为什么 wordpress 忽略 unicode 字符?

如果我使用默认的查询字符串结构,那么即使使用 unicode 字符也能完美运行。

服务器信息: IIS7 Win2008 服务器(启用 URL 重写) WordPress 2.9.2

【问题讨论】:

  • 你用什么来重写网址?

标签: php wordpress unicode permalinks


【解决方案1】:

KB article 提供了一个修补程序,该修补程序不适用于我的 Windows 版本和/或使用 开始 > 运行 使用的代码,该修补程序也无效并且没有添加注册表项在我的情况下出于某种原因 Windows 7 Ultimate 和 IIS 7.5.7600

reg add HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\w3svc\Parameters /v FastCGIUtf8ServerVariables /t REG_MULTI_SZ /d REQUEST_URI\0PATH_INFO

我必须做以下选择之一:

1) 添加注册。通过添加新的多字符串值在 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\w3svc\Parameters 下手动键入 >> 值名称:FastCGIUtf8ServerVariables 数值数据(两行): REQUEST_URI PATH_INFO

2)以管理员身份使用cmd.exe执行代码然后粘贴代码并执行

在这两种方式中,请记住在上一步之后以管理员身份在 cmd.exe 上执行 iisreset 命令。

【讨论】:

    【解决方案2】:

    有关问题的概述,请查看:

    http://ruslany.net/2010/03/important-update-for-iis-7-0-fastcgi-module/

    这是指你现在过时的:

    http://ruslany.net/2010/02/fastcgi-module-differences-across-iis-versions/

    我自己的情况已通过应用 Win 7 SP1 得到解决,但有趣的是,我仍然需要应用修补程序中描述的注册表黑客:

    http://support.microsoft.com/kb/2277918

    【讨论】:

      【解决方案3】:

      我在本地机器上运行 WAMP 服务器。我在我的 IIS7 Web 服务器上测试了 $_SERVER['PATH_INFO'] 并发现它有一些 unicode 问题。 Wordpress 使用 path_info 来处理 url。 我用以下代码创建了一个文件 test.php:

      如果我要求http://example.com/test.php/कुछशब्द/कुछऔरशब्द/english

      然后我得到这个输出

      ----****----

      /?????????/?????????/english ----****---- path_info 正在将 unicode 印地语字符转换为 ?????。 这意味着我的服务器中的 path_info 变量存在一些问题。 您知道任何可能导致此类问题的 IIS7 设置吗?

      相同的代码在我的本地 Apache Windows 服务器上运行良好。

      【讨论】:

        猜你喜欢
        • 2015-02-17
        • 2017-06-12
        • 2019-08-03
        • 2012-07-14
        • 2021-09-03
        • 2018-09-27
        • 2020-10-08
        • 2011-03-04
        • 1970-01-01
        相关资源
        最近更新 更多