2014-09-29 12 views
0

我有IIS上的「測試」網站和它的「sub1」子應用程序。IIS站點上的子應用程序內的相對URL

當我請求domain.com/sub1時,IIS會成功處理子應用程序。

代碼中的一些URL是相對的,當我在代碼/組件/測試中使用類似這樣的應用程序時,應用程序請求後面的url domain.com/component/test而不是domain.com/sub1/component/test。

爲了使相對URL有效,我需要更改哪些內容。

回答

0

在您的代碼中,使用@Url.Content("~/")<% =Url.Content("~/") %>來到達應用程序的相對根目錄。

或者,有時候,你可以用~/前綴脫身,但一般只用在佈局js和css文件

注:@是Razor視圖引擎和<% %>是ASPX視圖引擎,你沒有指定您所使用的

編輯:(基於OP評論)

CSS就可以從你的CSS託管的目錄相對的,你可以使用../遍歷目錄。對於你的JS,你可以編輯這些文件嗎?我將定義一個SITE_ROOT變量佈局(以上所有的JS文件),然後引用變量從您的JS文件中

例如:var SITE_ROOT = '@Url.Content("~/")';

然後用SITE_ROOT + '/relative_url'

+0

這些前綴JS文件您的來電問題來自JS/CSS文件。 POST URL是在JS中硬編碼的。所有網址都以「/」開頭 – 2014-09-29 14:42:14

+0

我根據您的評論編輯了我的答案 – 2014-09-29 14:46:31

相關問題