2012-05-29 84 views
2

我想在IIS中創建包含網站的Web應用程序,然後有一個子目錄,無論是虛擬目錄或其他網絡應用,包含.NET MVC應用程序並根據需要配置路由。部署.NET MVC的Web應用程序的子目錄中的IIS

由於我的MVC應用程序是相當簡單的,我只需要一個控制器,所以我希望的網址,如:

http://mysite.com/mvcapp/

將映射到我的應用程序的主控制器。這好像應該是足夠簡單,但是實現實際上這一設置似乎導致錯誤,如:

HTTP Error 403.14 - Forbidden 
The Web server is configured to not list the contents of this directory. 

如果任何人有這些問題的排序的經驗,在你的指導,將不勝感激!

+0

什麼是您的IIS版本? –

回答

1

聽起來好像您沒有將文件夾設置爲運行正確版本的asp.net的應用程序。你會怎麼做,取決於IIS的版本,您是否有訪問IIS管理器,等等...

+0

感謝您的建議。我可以完全訪問服務器。這個問題實際上是一個路由問題。應用程序池正在運行.NET的正確版本。 – rwbutler

+1

@rwbutler - 這不太可能是路由問題。你得到一個「無法列出目錄內容」的事實意味着.NET甚至沒有被執行。 –

0

檢查一些細節

  • 運行具有正確的應用程序池的網站配置到目標框架? (V4.0猜是這樣)

退房架構的IIS上登記,有時需要登記(再)

  • 鍵入cd C:\ WINDOWS \ Microsoft.NET \框架\ v4.0.30319 \型號

  • ASPNET_REGIIS.EXE -ir

記得下運行cmd以管理員身份

+0

在這些方面一切正常,主要是路由問題,我認爲。 – rwbutler

+0

但是如果路由問題,它應該運行任何url,假設你使用默認的路由映射{controler}/{action}應該運行mysite.com/home/index –

+0

檢查運行應用程序池的用戶是否擁有權限 –

0

我們有同樣的問題。該應用程序在開發機器上正常工作。它作爲開發服務器上的默認應用程序正常工作。將應用程序移動到IIS服務器上的另一個站點,我們得到403錯誤。我們檢查了權限 - 一切都很好。

添加了下面我們_BaseLayout.cshtml:

<script> 
     var SitePath = '@Url.Content("~")'; 
</script> 

在JS每次調用每個錨的href有SitePath前綴。

這使得代碼工作。

相關問題