Asp.Net MVC2Webアプリケーションを.Net4.0のIIS7.5に展開しています。アプリケーションプールをAsp.Netv4.0Classicとして選択すると、次のエラーが発生します。
HTTP Error 403.14 - Forbidden
The Web server is configured to not list the contents of this directory.
Asp.Net v4.0 Integratedとしてアプリケーションプールを選択すると、同じアプリケーションが正常に機能します。誰かがこれの理由を知っていますか?
更新:次のURLの手順に従いました。
http://www.asp.net/mvc/tutorials/using-asp-net-mvc-with-different-versions-of-iis-cs
.mvc拡張子のマップを追加し、以下に示すようにルーティングも変更しました。
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}.mvc/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
routes.MapRoute(
"Root",
"",
new { controller = "Home", action = "Index", id = "" }
これで、次のURLが正常に機能し、ホームページ/インデックスページが表示されます。
http://myapp/home.mvc
しかし、これでも同じエラーが発生します(HTTPエラー403.14-禁止)
http://myapp/
ルートをホーム/インデックスアクションにマッピングしたので、これは機能するはずです。
アップデート
これは、Win 7 Ultimate Turbo GoldPremium64ビットシステムのIIS7.5にあります。アプリプールは統合モードで実行されていました。クラシックに切り替えると、すべてが宣伝どおりに機能します。アプリをクラシックモードで実行すると、パブリックアクセスが許可されます。だからここに質問があります:必要に応じてこれを統合モードで実行するにはどうすればよいですか?