在ASP.NET中,我如何知道用户是否在URL中键入了默认文档,即区分URL是以/
还是/Default.aspx
结尾?
答案 0 :(得分:2)
不错的问题:D很遗憾Request.URL.AbsoluteURI
在IIS的默认设置中没有区分这两者。 IIS执行'礼貌'重定向到web目录中存在的默认页面,这是在协议解析期间完成的 - 即,ISAPI扩展看不到它(python框架,ASP.NET框架等)。您有两种选择:
通过将default.aspx
列为默认重定向来禁用礼貌重定向,然后您就可以使用Request.URL.AbsoluteURI
。
你几乎肯定不想做这个选项....写一个ISAPI过滤器来提取数据...执行静默重映射(即,不要重定向到default.aspx,只重新映射请求标题')或重定向时设置QueryString - 即abc.com/default.aspx?redirected=1
P.S。这是我从三年开发服务器插件中获得的:/。