Вы можете получить виртуальный путь к файлу от одной из нескольких серверных переменных - попробуйте либо:
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)