2012-08-24 98 views
4

我有一個使用ASP.NET MVC 4.5使用一些CSS文件。 CSS指的是一些圖像。在ASP.NET MVC的CSS中的根目錄

的CSS文件位於此路徑:

WebSiteRoot\Content\css\services\File.CSS 

圖像位於此路徑:

\WebSiteRoot\Content\img\servicesbubble\image.png 

的CSS有這個電話:

background:transparent url('../../img/servicesbubble/image.png') no-repeat 0px 0px; 

當我在本地主機上運行應用程序。但是,當我上傳到主機(Appharbor)它不起作用。 爲什麼?什麼是最好的方式來回應一個應用程序的根?

在服務器的HTTP GET試圖對這一錯誤URL

WebSite.com/img/servicesbubble/desktop.png 

更新:我使用.NET Framework 4.5的功能,稱爲捆綁用於合併這些CSS與其他CSS。

+0

你能分享你的AppHarbor託管網站的URL,以便我們可以看看嗎? –

+0

如果路徑在環境之間不改變,則來自css文件的文件引用不應該成爲問題。 – JayC

+0

當然@Michal這個網址http://tulpepwebsite.apphb.com/Services檢查錯誤的呼叫到http://tulpepwebsite.apphb.com/img/servicesbubble/desktop.png和 http:// tulpepwebsite。 apphb.com/img/servicesbubble/uc.png –

回答

2

你的問題實際上是從你涅槃的CSS到不同的目錄比CSS的事實來

更具體地說:http://tulpepwebsite.apphb.com/Content/css/servicescss?v = sdm08D 5sRu2I00dA0phyVTYZ_QU8Nfp27wHtmmE0Gzk1

所以../../讓你在CSS文件http://tulpepwebsite.apphb.com/Content

URL是總是相對於CSS文件本身的位置。

+0

我不這麼認爲。 MVC 4.5中的縮小和捆綁可以實現這一點。 –

+0

捆綁是否會在縮小的CSS中重寫路徑? (澄清) – JayC

+0

哦,是的。你是對的。 –

2

您的CSS文件路徑似乎發生了變化。我看到的與您的網站相關的兩個CSS文件是http://tulpepwebsite.apphb.com/Content/css/servicescss?v=sdm08D5sRu2I00dA0phyVTYZ_QU8Nfp27wHtmmE0Gzk1http://tulpepwebsite.apphb.com/Content/GeneralCSS?v=9kvtUcooQua0D4nQT8wZ-4_Gm6OcRd-J5SkjMxwKiyQ1。 (另一個來自谷歌字體服務。)你需要弄清楚爲什麼會發生這種情況。

編輯:好的,我會猜測一些東西。您可能正在使用new ASP.NET 4.5 bundling feature。但如果你這樣做,將CSS蒼蠅捆綁在不同的目錄中是沒有意義的。

+0

我正在使用ASP.NET 4.5的捆綁功能,並且我不在不同的目錄中捆綁css。我有壓縮的意義,只是你的代碼。 –

0

你的CSS的位置是不同的比你想象:

WebSiteRoot\Content\css\File.CSS 

,而不是

WebSiteRoot\Content\css\services\File.CSS