Request.ServerVariables("APPL_PHYSICAL_PATH") : E:\host\cnbruce_com\web\

Request.ServerVariables("PATH_INFO") : /server.asp

Request.ServerVariables("SCRIPT_NAME") : /server.asp

Request.ServerVariables("URL") : /server.asp

Request.ServerVariables("PATH_TRANSLATED") : E:\host\cnbruce_com\web\server.asp


上面都是通过ServerVariables提取得出的值,下面就来运用mapath把一个虚拟地址转变为实际的物理地址。

Server.MapPath(Request.ServerVariables("URL")) :E:\host\cnbruce_com\web\server.asp

或者自己随便写个不存在的路径,同样能够执行

Server.MapPath("cnbruce.asp") : E:\host\cnbruce_com\web\cnbruce.asp

再来个“/”的

Server.MapPath("/cnbruce.asp") : E:\host\cnbruce_com\web\cnbruce.asp
Server.MapPath("\cnbruce.asp") : E:\host\cnbruce_com\web\cnbruce.asp

你会发现物理地址转变到IIS默认根目录下面了。 这就是如6to23之类的站点mappath的问题所在。还是虚拟主机好,即使是根,也还是自己站点的默认存放节点根。