比如 cs.aspx?a="中文" 经过编码后,后台接受参数,然后解码,参数正常。
改为伪静态后 cs-中文.html 经过编码后 接收参数解码,就乱码了。
断点发现
System.Web.HttpUtility.UrlDecode(Request.QueryString["Keyword"],System.Text.Encoding.Default);
非伪静态时Request.QueryString["Keyword"]==%E8%9B%8B%E7%96%BC //解码后可正常显示中文
而伪静态时Request.QueryString["Keyword"]==%u00e8%u009b%u008b%u00e7%u0096%u00bc //解码后乱码
伪静态时在接收参数这出问题了???求指点
伪静态时,Url重写规则是怎么写的?
用的URLReWrite.dll
<RewriterRule>
<LookFor>~/cs/cs-(.*)\.html</LookFor>
<SendTo>~/cs/cs.aspx?Keyword=$2</SendTo>
</RewriterRule>
@老树昏鸦: 我们用的是IIS URL Rewrite Module,从没遇到过这个问题。