2010-12-06 35 views
1

我有一箇舊的經典ASP應用程序,我想並行複製 - 也就是說,我想配置另一個副本(與另一個數據庫交談)與原始副本一起使用。複製應用程序時的經典ASP:URL問題

因此,我擁有// MyServer/MyApp1 /,我也很快會擁有// MyServer/MyApp2/...迄今爲止非常棒。

除了應用程序中的許多URL是絕對的(例如JS和CSS文件),例如, <script type="text/javascript" src="/MyApp1/menu.js"></script>

我可以搜索引用/MyApp1//MyApp2/取代它,但它是一個惱人的任務,我將不得不重複,因爲我更新核心應用程序,並希望其他副本創建的事件 - 一個可能性雖然暫時的。

我可以將這些URL更改爲父路徑,但這意味着我需要以不同方式引用每個資源,具體取決於我在應用程序文件夾結構中的位置。再次,它會工作,但我不喜歡使用父路徑的原因有很多。

鑑於經典ASP中沒有波浪號(〜)功能(以引用應用程序根目錄),是否有任何替代方案可供我考慮?

回答

1

@CJM:我通常有一個db.asp其中包含function S和sub用於處理打開/關閉數據庫連接爲主要包括幾乎所有我的網頁秒。在此db.asp中,我將定義一個appurlabsurl路徑,在您的情況下,該路徑可能有/MyApp1,然後您可以在腳本中使用<script type="text/javascript" src="<%=appurl %>/menu.js"></script>

你第一次做這件事,它將會是一個搜索/替換任務,但一旦完成,後續的「重複」項目將只需要更新一個變量。

+0

其實,我確實考慮過這個選擇。我不確定是否需要經常重複該操作來證明這一努力是正確的,但我的OCD部分認爲它是一個原則問題!這種解決方案可能與其他解決方案一樣好。 – CJM 2010-12-06 23:26:24

0

在傳統ASP中,您可以使用Server.MapPath("/")來獲取根目錄,或者使用Server.MapPath(".")來獲取當前目錄。

+0

Server.MapPath返回一個不是URL的物理路徑 - 這是我感興趣的URL。 – CJM 2010-12-06 23:25:02