2010-07-01 69 views
3

我的網站中有許多Web應用程序在IIS 7.5中,我的MVC2 Web應用程序將在其中生活。ASP.NET MVC圖像/ CSS未顯示Web站點的Web應用程序

WebSite 
    * Prod 
    * Test1 
    * Test2 

我有防火牆路由配置爲重定向從http://test1.mywebsite.com/xxxhttp://my.actual.website/Test1

我用Url.Content("~/Content/Site.css")但CSS是沒有得到加載。看看網頁的源代碼url正在呈現爲<link href="/Test1/Content/Site.css" ...>

有什麼我可以做的,以解決這個問題?可能使用IIS URL重寫器模塊,或將更多規則添加到我的防火牆。

回答

1

由於您在IIS網站(而不是路徑中的單個應用程序)中具有應用程序(每個環境),因此在生成Url.Content中的URL時,ASP.NET MVC將這些考慮在內。

如果您想在您的網站中保留應用程序,您可以在防火牆級別(如果您的防火牆支持它),在IIS級別(URL重寫)或通過實施Url.Content的替代方法重寫URL。由於可用的源代碼,您可以看到MVC框架是如何實現的,大部分工作都是在PathHelpers class中完成的。

當然,如果您還有其他工作來開發/測試/維護您的重寫規則或您的替代URL生成代碼。我的觀點是將應用程序分開,以便每個IIS網站都有獨立的應用程序/環境,這樣您就不會承擔額外的負擔。

0

聽起來像防火牆也需要配置爲重定向CSS和圖像請求。