如何使用ASP Classic获取当前虚拟目录的名称?

wwe*_*ker 2 virtual-directory asp-classic

如何使用ASP Classic获取当前虚拟目录的名称?在ASP.NET中,您可以使用它Request.ApplicationPath来查找它.

例如,假设您有一个这样的URL:

http://localhost/virtual_directory/subdirectory/file.asp

在ASP.NET中,Request.ApplicationPath将返回/ virtual_directory

Sim*_*est 6

您可以从多个服务器变量之一获取文件的虚拟路径 - 尝试以下任一方法:

  • 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
Run Code Online (Sandbox Code Playgroud)

要么:

s = "/" & Split(Request.ServerVariables("SCRIPT_NAME"), "/")(1)
Run Code Online (Sandbox Code Playgroud)