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