ASP.NET Request 一连串 Path 一览

作者:vkvi 来源:ITPOW(原创) 日期:2020-2-22

Request.PathInfo

这个我显示出来,总是空的,我也不知道为什么,所以我们把它排在最前,以略过,后面还有很多内容。

Request.ServerVariables["HTTP_X_REWRITE_URL"] 

我使用 .NET Framework,我使用了 rewrite,但是还是显示为空。

Request.CurrentExecutionFilePath

Request.Path

Request.FilePath

Request.ServerVariables["URL"]

这四个,结果都是一样,结构都是:/AppName/DirName/FileName,根目录时:/DirName/FileName。

关于大小写:如果未使用映射,以浏览器输入的为准;如果使用 rewrite 映射,以 web.config 配置的 action 节的 url 为准,那里是大写就是大写,那里是小写就是小写。

关于默认页:比如访问路径“/”,默认页为“Default.aspx”(注意大小写),这里是“/default.aspx”,“default.aspx”是小写。

关于 QueryString:均不包含 QueryString。

Request.AppRelativeCurrentExecutionFilePath

与前面四个类似,只是以应用程序为根目录,并以 ~ 开头,比如:~/DirName/FileName。其他细节和上面四个相同。

Request.ApplicationPath

比如:/、/MyApp,注意非根目录时,不以“/”结尾,注意这里的大小写以服务器配置为准,不以浏览器输入为准。

Request.PhysicalApplicationPath

应用程序物理路径,比如:D:\MyApp\,以“\”结尾,大小写为磁盘存储的为准。

Request.PhysicalPath

文件物理路径,比如:D:\MyApp\MyDir\FileName。MyApp 以磁盘存储的为准,MyDir、FileName 大小写规则跟前面那四个 Path 的规则相同。

以上所有,如果放在 .master 母版页中,是以 .aspx 输出,还是 .master 输出呢?以 .aspx 输出!

相关文章