Wordpress + IIS +UrlScan + 固定链接中文tag找不到地址的解决方案二

这周,基本都是在主机迁移的善后工作,唉,真累啊
,老头不负苦心人, 经过几天的折腾,终于算是初步完工了。在这里把这次迁移过程中遇到的问题,都记录下来,给干这个活的朋友做个借鉴吧。这里的迁移,是指从 LINUX/UNIX + MYSQL+PHP 到 IIS + MYSQL + PHP,具体是 IIS6.
今天,发布我遇到的第二个问题:
关于解决 中文TAG乱码的问题,以及404的问题,我发布过2篇博文:
http://www.zu14.cn/2010/01/08/solution-for-iis6-wordpress-chinese-tag/
而我自己这次遇到的,就是基于上面的第一篇的实现方式,然而,我这次却无论如何不能成功了!!
症状是: 中文的TAG地址,一概显示 “没有此文章”,而不是传统的 404 ERROR!
断断续续折腾了2天,实在是没有解决,我气愤啊

没办法了,干脆自己跟踪WORDPRESS的PHP执行情况,这个跟踪,当然不是盲目的了,因为根据以往的经验,问题还是处在 wp-includes\classes.php 这里。
下面分享一下跟踪的过程(实际没啥技术含量,希望不要拍砖呀
)
打开 wp-includes\classes.php,定位到 153 行

在这里,就可以捕获访问时的 $_SERVER[‘PATH_INFO’] 值了。在上面的地方,代码略作修改,如下:

保存后,重新去打开网站,如果不出意外,显示的网页应该是布局错乱了,哈哈
,这正是我要的。再次访问中文TAG地址,例如:http://www.zu14.cn/tag/sql注入/ ,仍然一样,提示 “没有此文章”,不去理它, 页面右键, 选择 “查看源文件”,在源文件的第一行开头, 我看到了下面的内容:

欧,天啊!!折磨了我2天的问题,原来是 “Denied By UrlScan” 。
到这里,原因总算找到了,服务器上,安装了 微软的IIS安全增强插件 UrlScan 。二话不说,立即打开 UrlScan 的日志,进行查看, 路径在
%windir%\system32\inetsrv\urlscan\logs\
文件是以日期命名的。
打开最新的日志, 看到了如下的内容:

原因:URL contains high bit character
修改配置,解决此问题,配置文件在 %windir%\system32\inetsrv\urlscan\urlscan.ini
打开它, 找到这里:

AllowHighBitCharacters = 0,默认是0, 即 Not Allow。我们把它改成 1.

感谢DANG,感谢淫民,感谢CCAV,感谢MTV,感谢WC …..(一万句省略)!
文章出处:真有意思网(http://www.zu14.cn)
引用地址:点击复制本文的 Trackback Url
文章链接:http://www.zu14.cn/2010/01/11/iis-wordpress-chinese-tag-permalink-urlscan-solution/ [复制] (转载请注明出处及链接)










@shenlan :
我的解决方法,都在上面了啊。
我的也是出现你的问题了。咋搞啊?
MD,一天了。找不到页面。。