2016-09-03 34 views
1

IISで仮想ディレクトリやアプリケーションを作成せずにMVCアプリケーションを通常のフォルダ内で実行すると、 "folder/folder/mymvcappfolder/{controller}/{アクション} "とデフォルトのコントローラ/アクションも使用します。しかし、少なくともURLのコントローラ名を渡すとうまくいけば、それは私に"HTTP Error 403.14 - Forbidden"を与えます。 私はweb.configファイルで、以下のソリューションを試みたが、ASP.Net MVC inサブフォルダ403 Forbidden

<system.webServer> 
<modules runAllManagedModulesForAllRequests="true"/> 
</system.webServer> 

そして

<system.webServer> 
    <modules> 
    <remove name="UrlRoutingModule-4.0" /> 
    <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="" /> 
    </modules> 
</system.webServer> 

なぜ私のルートはコントローラ名を通過することなく動作していない任意の提案を働いていませんでしたか?

答えて

2

これは、実際のディレクトリを指しているためです。あなたのルートがデフォルトで動作していないからです。IISがこのフォルダへのアクセスをブロックしています。( "Webサーバーは、このディレクトリ」)の内容...

これはあなたのRouteConfigにルートの既存のファイルを有効にする必要があります動作しますようにするには:

RouteTable.Routes.RouteExistingFiles = true;