2011-06-09 34 views
0

我想部署一個MVC 3站點到IIS 7.5。如果我手動輸入主頁的鏈接,失控路線可以正常工作,但所有鏈接都會返回404錯誤。MVC站點部署到IIS 7主頁工作所有其他頁面404

詳情:

  • MVC 3到IIS 7.5
  • 的Windows Server 2008 R2
  • MVC 3安裝在服務器
  • 默認Web站點/ PaedPhysiotherapy_Uat
  • .NET 4安裝
  • DeafultApplication池使用
  • 應用程序池是.net4和在集成模式下運行
  • 自定義錯誤被關閉

如果我使用不同的端口部署到同一IIS框中鍵入一個新的網站,例如「http:// newsite:81不在默認網站下一切正常。」

回答

1

即使沒有路由,IIS也會將「/」的請求重定向到「/Default.aspx」。在MVC應用中,有一個Default.aspx手動找到MVC處理程序並調用它,所以這可能就是你的家庭鏈接工作的原因:

你的其他頁面必須經過路由,在集成模式下必須有一個IIS處理程序。 ExtensionlessUrlHandler在IIS處理程序映射中,將其與其他處理程序與工作的網站進行比較

+0

您確定第一句話。我剛剛在VS2010SP1中創建了一個新的MVC3應用程序,但沒有'Default.aspx'。 – Kev 2011-06-10 13:39:51

+0

@Kev,你是對的,[在MVC 3中改變了。](http://haacked.com/archive/2010/12/22/asp-net-mvc-3-extensionless-urls-on-iis- 6.aspx)我剛剛鏈接的帖子中有一些信息可能有助於診斷此問題。 – 2011-06-10 14:32:43

0

有人猜測,如果在部署到站點根目錄時起作用,那麼它看起來像是絕對路徑。也許在某個地方這是在路徑前面缺少~,例如,

/MyController

代替

~/MyController

此外,您還記得應該/PaedPhysiotherapy_Uat轉換爲應用程序?

相關問題