IIS6+FastCGI1.5下WordPress中文标签404的正确解决方法

长久以来博客的中文标签都是404,原因是IIS会脑残地把传入的UTF8路径转成ASCII,在2003中文系统下也就是GBK。

Google到的方法多数是修改wordpress的代码,加入一行把PATH_INFO转回UTF8的代码。很显然这是很不靠谱的hackfix,治标不治本,因为本来就不是网站的错。

进一步查询发现FastCGI 1.5已经修复了这个问题,但是需要修改注册表以开启这个功能。方法是在注册表添加FastCGIUtf8ServerVariables键值使REQUEST_URI和PATH_INFO以UTF8编码传送给PHP:

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

然后重启IIS,问题解决。

CategoriesUncategorized

Leave a Reply

Your email address will not be published. Required fields are marked *