2012-10-09 54 views
0

我一直在VS 2012開發一個web應用程序(asp.net mvc),並且它一直在順風順利地運行。我現在已經將它部署到我的計算機IIS,只是爲了在VS之外運行一些測試,並且我想出了一些問題。Asp.net網頁src鏈接在Dev和IIS部署的環境中

這些問題與圖像和JS文件如何鏈接有關。這個問題的最簡單的例子是一個圖像src。所以在我的site.css我有以下樣式:

.menu_div .mnuHeader 
{ 
    background: url('/img/menuSectionHeader.png') repeat-x center;  
} 

這個工程在開發環境很好,因爲VS IIS Express實例旋轉它作爲「HTTP://本地主機:51034 /」。但是當我將它部署到IIS時,該網站位於虛擬目錄中,因此網站被引用爲「http:// localhost:80/MyWebsite /」。

因此,除非我瀏覽整個應用程序並將其更改爲/ MyWebsite /而不是圖像,資源鏈接將無法工作(這不是真的可行,因爲我將不得不擁有兩個不同的應用程序實例,一個用於開發人員和一個對於部署來說,對於鏈接來說有點危險)。

我在這裏錯過了什麼嗎?

謝謝

回答

1

爲什麼不嘗試相對路徑?如果CSS文件在/ CSS /和圖形在/ IMG /,那麼你的例子是:

.menu_div .mnuHeader 
{ 
    background: url('../img/menuSectionHeader.png') repeat-x center;  
} 

您也可以嘗試重寫/ IMG /爲/ MyWebsite/IMG /生產:http://www.iis.net/learn/extensions/url-rewrite-module/creating-rewrite-rules-for-the-url-rewrite-module

+0

這是正確的解決方案。只要知道CSS文件中的所有路徑都與CSS文件本身相關。但是,無論何時你用斜線開始一條路徑,你基本上都定義了一個絕對路徑,它從根開始。 –