2010-12-02 71 views
0

我有一個C#網站,它可以在IIS6上正常工作&公司內部網上的IIS7,但我現在試圖在Windows XP盒子上安裝IIS5的同一網站,公司內部網。網站內容沒問題,但是CSS和菜單全部壞掉,因爲找不到一些相對路徑。在IIS5中未解析的相對路徑與IIS6相同

我使用一些符號是這樣的:<img src="Images/a.gif"的正常工作,有的像這樣:MasterPageFile="~/App_MasterPages/Default.master"也能正常工作,但這樣的東西:@import "/App_Themes/Default.css"和這樣的:src="../App_Scripts/stringformat.js"也是白搭。在代碼隱藏Request.ApplicationPath也沒有結束「/」。

我試圖解決IIS中的「啓用父路徑」,並做了iisreset,但沒有任何區別。我也嘗試安裝IIS Developer Express,但這太令人困惑和吸引太多。我不想通過整個應用程序並改變每個相對路徑來支持IIS5格式,但這是我唯一的選擇嗎? (除了升級Windows)

回答

0

我懷疑在IIS6 & 7有問題的應用程序正在部署到站點根目錄,並且在XP/IIS5.1上,您已經將此部署到作爲IIS應用程序運行的子文件夾中。

你有兩個選擇:

  1. 部署站點到IIS5.1根(c:\inetpub\wwwroot)。

  2. 修復絕對路徑並使它們相對應用,即@import /App_Themes

  3. 堅持IIS Developer Express,它不是那麼糟糕。

+0

這兩個站點都部署到`inetpub \ wwwroot`,所以這不是問題。我不是那麼熱衷於第2點,因爲有很多鏈接需要更新,並且可以在IIS6/7中打破它? IIS Express無法理解,我無法看到如何以常用方式運行網站。我有很多問題沒有被microsofts文檔回答。例如,我是否必須卸載IIS5? – JumpingJezza 2010-12-06 00:09:45