如何使用ASP Classic获取当前虚拟目录的名称?在ASP.NET中,您可以使用它Request.ApplicationPath
来查找它.
例如,假设您有一个这样的URL:
http://localhost/virtual_directory/subdirectory/file.asp
在ASP.NET中,Request.ApplicationPath
将返回/ virtual_directory
您可以从多个服务器变量之一获取文件的虚拟路径 - 尝试以下任一方法:
Request.ServerVariables("PATH_INFO")
Request.ServerVariables("SCRIPT_NAME")
(但不像INSTANCE_META_PATH
之前建议的那样 - 这会为您提供元基本路径,而不是您期望的虚拟路径).
服务器变量将为您提供虚拟路径,包括任何子目录和文件名 - 在您的示例中,您将获得"/virtual_directory/subdirectory/file.asp".如果您只是想要虚拟目录,则需要使用您喜欢的任何方法在第二个正斜杠后删除所有内容,以便从路径中删除目录,例如:
s = Request.ServerVariables("SCRIPT_NAME") i = InStr(2, s, "/") If i > 0 Then s = Left(s, i - 1) End If
要么:
s = "/" & Split(Request.ServerVariables("SCRIPT_NAME"), "/")(1)