Asp classic 经典的ASP虚拟机包括

Asp classic 经典的ASP虚拟机包括,asp-classic,include,include-path,Asp Classic,Include,Include Path,假设我有以下文件结构,其中前四个是虚拟目录: 1/2/3/4/5/6/7/8 从目录8中的一个文件中,是否可以使用如下内容将一个文件包含在目录4中 <!-- #include virtual="/4/5/6/a.asp" --> 请注意,我没有8个级别的目录-实际上我只有3个,格式为/ab/abCore/includes.asp、/ab/ab123/default.asp、/ab/ab123/ajax/ab.asp、/ab/ab123/actions/create.asp(可

假设我有以下文件结构,其中前四个是虚拟目录:

1/2/3/4/5/6/7/8
从目录8中的一个文件中,是否可以使用如下内容将一个文件包含在目录4中

<!-- #include virtual="/4/5/6/a.asp" -->

请注意,我没有8个级别的目录-实际上我只有3个,格式为/ab/abCore/includes.asp、/ab/ab123/default.asp、/ab/ab123/ajax/ab.asp、/ab/ab123/actions/create.asp(可能很快会有更多级别),并且希望在default.asp和create.asp中使用相同的includes。我能找到的唯一方法是将“file”与“../”一起使用一次或多次。ab是一个虚拟目录,但abCore和ab123不是。我需要从该目录中任何目录中的任何文件引用虚拟目录'ab'。我只是在我的例子中使用8,只是为了更好地解释我的情况。请注意,我可以完全控制IIS,定义哪些目录是虚拟的等等


如果这不是很清楚,那么请说(而不是否决),我将尝试重新措辞。

是的,可以做到。假设f1文件夹中有一个文件test1.asp,您希望将其包含在路径f1/f2/f3中的文件中。只需编写代码,如

<!--#include file = "..\..\test1.asp"-->
<!--#include file = "..\..\..\..\a.asp"-->

这就是你的答案。您的代码应该是

<!--#include file = "..\..\test1.asp"-->
<!--#include file = "..\..\..\..\a.asp"-->


我不确定是否理解,但您可以使用../只要您在IIS设置中选中“允许父路径”,这将允许您使用虚拟包含访问父文件夹..嗨,凡人,是的,我知道如何使用../,这就是我当前使用的,但我想做的是对所有页面使用完全相同的包含,不必为每个子目录添加额外的../。我想我们已经找到了解决办法。。我刚刚在根文件夹中创建了一个名为“ab”的虚拟目录,以便使用/ab/abCore。基本上,原来的ab目录不是最上面的文件夹-它更像是a/b/c/ab.c有自己的web.config和global.asa,我认为如果它在web根目录中,它不会影响'ab',但是它似乎工作得很好:)我认为URL重写会让你的生活更轻松。谢谢影子向导,但是现在,在webroot中有一个名为ab的虚拟目录(无论如何,我完全可以控制它)符合我的目的。如果我发现它在几周内有点乏味,那么我会考虑查看URL重写。我们的目标是在两周内为第一阶段的发布做好准备,并且在一周内仍然可以像现在一样进行演示,因此我甚至没有考虑在这个阶段重写URL,因为我有太多的事情要做。