如果我在 IIS 管理器中定义了一个“应用程序”,我可以获取服务器变量的值APPL_MD_PATH
来检索与应用程序关联的物理路径。
如果我配置了“虚拟目录”, APPL_MD_PATH
仍然会给我与应用程序关联的物理路径,而不是与虚拟目录关联的物理路径。
如何检索与当前请求关联的虚拟目录的物理路径?
如何确定请求是来自应用程序还是虚拟目录?
您可以使用它HSE_REQ_MAP_URL_TO_PATH_EX
来查找任何 URL 的物理路径。
如果你想知道你是否在一个 vdir 中,只需通过一次剥离一个最右边的部分来开始遍历 URL。调用HSE_REQ_MAP_URL_TO_PATH_EX
,直到您 a) 点击应用程序根目录或 b) 点击与前一个前缀不同的物理目录。如果(b)那么你在一个虚拟目录中。
您也可以使用上面的方法找到当前 vdir 的物理路径。