2

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

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

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

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

4

2 回答 2

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)
于 2009-01-28T20:45:49.730 回答
0

尝试使用:Request.ServerVariables("SCRIPT_NAME")

或尝试使用 Request.ServerVariables("INSTANCE_META_PATH") 如果这对您不起作用。

有关其他服务器变量的列表,请尝试以下链接:

http://www.w3schools.com/asp/coll_servervariables.asp

于 2009-01-22T22:21:25.370 回答