如何使用 ASP Classic 获取当前虚拟目录的名称?在 ASP.NET 中,您可以使用它Request.ApplicationPath
来找到它。
例如,假设您有一个这样的 URL:
http://localhost/virtual_directory/subdirectory/file.asp
在 ASP.NET 中,Request.ApplicationPath
将返回/virtual_directory
如何使用 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)
尝试使用:Request.ServerVariables("SCRIPT_NAME")
或尝试使用 Request.ServerVariables("INSTANCE_META_PATH") 如果这对您不起作用。
有关其他服务器变量的列表,请尝试以下链接: