ディレクトリの参照を許可していないため、このエラーが表示されます。これは、MVC が要求を認識しておらず、IIS が既定のドキュメントを見つけようとしていることを示しています。 過去に同様の質問に回答しました。これらの提案のいくつかは、問題を発見するのに役立つかもしれません
エラー 403.14 は、ディレクトリの内容を一覧表示できないことを示す HTTP エラー コードです。ことを確認してください
- IIS で Web サイトをアプリケーションとしてセットアップしている サーバーに .NET 4.5 をインストールしている
- 適切なバージョンの .NET Framework を実行するようにアプリケーション プールを設定しました (つまり、.NET 2.0 に設定されていません)。
- アプリケーション プール .NET で統合パイプラインを使用している
- 4.5 は実際には IIS に登録されています。同様の問題/解決策については、この投稿を参照してください。通常、a と d は、IIS への MVC 展開に関する最大の問題です。
また、web.config をチェックして、次の行が存在することを確認します。
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
アップデート
確かに、私の回答にこれほど多くの注目が集まるとは思っていませんでした...そうは言っても、以下の会話をもう少し詳しく説明できます。DarinD は、
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
Web サーバーに追加の負担がかかりますが、彼は正しいです。この行により、IIS は静的ファイルを含むすべての要求に対してすべてのモジュールをロードします。そうは言っても、カーネル キャッシングなどの IIS 7 の側面を考えると、非常にトラフィックの多いサイトをホストしている場合や大量のモジュールを持っている場合を除き、パフォーマンスへの影響はおそらくあなたやユーザーには気付かれないでしょう。
潜在的に異なるソリューションを表示したい場合は、このブログ投稿をチェックして、上記の managedModule 行の詳細を確認してください。そこに提示されたソリューションが問題を解決するかどうかもテストできます。
最後に、潜在的なパフォーマンスへの影響だけでなく、ルーティングのしくみと、IIS 6 および 7 (7.5 もカバーする必要があります) で拡張機能のない URL ルーティングを取得するために必要なことについて詳しく説明するブログ投稿を次に示します。