您当前的位置:KKBlog > 学无止境 > ASP.NET

解决IIS7下面Intelligencia.UrlRewriter中文不能正常解析的问题

公司收购过来一网站,里面使用了Intelligencia.UrlRewriter 进行URLRewrite。之前部署在windows 2003下面。运行一切正常。

后来发布到IIS7(windows2008)下面后。发现以前的中文全部不能正常rewrite。

比如房山,转码成%e6%88%bf%e5%b1%b1,urlrewrite后变成了%C3%A6%C2%88%C2%BF%C3%A5%C2%B1%C2%B1,压根不知道是什么编码了。

网上搜了一通没有解决方案。直接下载urlwriter源码,跟踪发现在获取原url的时候就转成了正常的在中文。因此修改了RewriterEngine.cs文件。于第514行       return  result ; 处增加:

 if(result != String.Empty &&result!=null && result.Length>0)
                result = HttpUtility.UrlEncode(result, System.Text.Encoding.UTF8);
  return  result;

 

重新编译后。问题解决


 
二维码
意见反馈 二维码