我有一个旧的经典ASP应用程序,我希望并行复制 - 也就是说,我想在原始文件旁边配置另一个副本(与另一个数据库通信)。
所以,我有// MyServer / MyApp1 /,我很快就会有// MyServer / MyApp2 / ...到目前为止还不错。
除了应用程序中的许多URL是绝对的(例如JS和CSS文件),例如<script type="text/javascript" src="/MyApp1/menu.js"></script>
。
我可以搜索对/MyApp1/
的引用并将其替换为/MyApp2/
,但这是一项烦人的任务,在更新核心应用程序时,如果需要其他副本,我将不得不重复这项任务创造 - 尽可能是暂时的。
我可以将这些URL更改为父路径,但这意味着我需要以不同的方式引用每个资源,具体取决于我在应用程序文件夹结构中的位置。同样,它会起作用,但我不喜欢使用父路径有很多原因。
鉴于Classic ASP中没有波浪号(〜)功能(引用应用程序根目录),我可以考虑任何替代方案吗?
答案 0 :(得分:1)
@CJM:我通常有一个db.asp
,其中包含处理打开/关闭数据库连接的function
和sub
,作为主要包含在几乎所有页面上。在这个db.asp
中,我会定义一个appurl
或absurl
路径,在您的情况下可以/MyApp1
,然后您可以在<script type="text/javascript" src="<%=appurl %>/menu.js"></script>
中使用{{1}}脚本。
你第一次这样做,它将是一个搜索/替换任务,但一旦完成,后续“重复”项目将只需要更新一个变量。
答案 1 :(得分:0)
在Classic ASP中,您可以使用Server.MapPath("/")
获取根目录,或使用Server.MapPath(".")
获取当前目录。