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
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的问题所在。还是虚拟主机好,即使是根,也还是自己站点的默认存放节点根。