Wordpress忽略了URL中的Unicode Chars

Ank*_*pta 21 php unicode wordpress permalinks

我正在使用wordpress与这种类型的永久链接:

/%,比去年%/%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

Chr*_*ham 10

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

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


小智 4

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

\n\n\n\n

如果我请求http://example.com/test.php/\xe0\xa4\x95\xe0\xa5\x81\xe0\xa4\x9b\xe0\xa4\xb6\xe0\xa4\xac\xe0\xa5\ x8d\xe0\xa4\xa6/\xe0\xa4\x95\xe0\xa5\x81\xe0\xa4\x9b\xe0\xa4\x94\xe0\xa4\xb0\xe0\xa4\xb6\xe0\xa4\xac \xe0\xa5\x8d\xe0\xa4\xa6/英语

\n\n

然后我得到这个输出

\n\n

------------

\n\n

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

\n\n

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

\n