"无法使用前导 .. 在顶级目录上退出"的解决方案(asp.net2.0+urlrewrite)

"Cannot use a leading .. to exit above the top directory"这个异常有点奇怪,不是普通代码逻辑broken了。

具体原因是这样对于不支持cookie的某些终端,例如some spiders, pc clients.

asp.net 2.0机制针对sessionid存储有两种方式:用cookie来存和放在url中。

对于不支持cookie,web.config的默认配置会把session id放在url里,所以会破坏你的Url rewrite的匹配规则。

所以简单点的方法你可以考虑这样简单配置一下:

<authentication mode="Forms">

<forms loginUrl="/login" defaultUrl="/"  cookieless="UseCookies">

</forms>

</authentication>


复杂点的看看这篇reference:

http://todotnet.com/archive/2006/07/01/7472.aspx 

 

你可能感兴趣的:(urlrewrite)