2

ASP Classic を使用して現在の仮想ディレクトリの名前を取得するにはどうすればよいですか? ASP.NET では、これを使用Request.ApplicationPathして見つけることができます。

たとえば、次のような URL があるとします。

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

ASP.NET では、/virtual_directoryRequest.ApplicationPathを返します

4

2 に答える 2

6

いくつかのサーバー変数の 1 つからファイルへの仮想パスを取得できます。次のいずれかを試してください。

  • Request.ServerVariables("PATH_INFO")
  • Request.ServerVariables("SCRIPT_NAME")

(ただしINSTANCE_META_PATH、以前に提案されたものとは異なります-これにより、期待している仮想パスではなく、メタベースパスが得られます)。

どちらのサーバー変数も、サブディレクトリとファイル名を含む仮想パスを提供します。例を考えると、「/virtual_directory/subdirectory/file.asp」が得られます。仮想ディレクトリだけが必要な場合は、次のように、パスからディレクトリを抽出するために好みの方法を使用して、2 番目のスラッシュの後のすべてを削除する必要があります。

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 に答える