我有IIS上的「測試」網站和它的「sub1」子應用程序。IIS站點上的子應用程序內的相對URL
當我請求domain.com/sub1時,IIS會成功處理子應用程序。
代碼中的一些URL是相對的,當我在代碼/組件/測試中使用類似這樣的應用程序時,應用程序請求後面的url domain.com/component/test而不是domain.com/sub1/component/test。
爲了使相對URL有效,我需要更改哪些內容。
我有IIS上的「測試」網站和它的「sub1」子應用程序。IIS站點上的子應用程序內的相對URL
當我請求domain.com/sub1時,IIS會成功處理子應用程序。
代碼中的一些URL是相對的,當我在代碼/組件/測試中使用類似這樣的應用程序時,應用程序請求後面的url domain.com/component/test而不是domain.com/sub1/component/test。
爲了使相對URL有效,我需要更改哪些內容。
在您的代碼中,使用@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'
這些前綴JS文件您的來電問題來自JS/CSS文件。 POST URL是在JS中硬編碼的。所有網址都以「/」開頭 – 2014-09-29 14:42:14
我根據您的評論編輯了我的答案 – 2014-09-29 14:46:31