1
IIS 10の複数のサーバーに展開されているASP.NET MVCアプリケーションがあります。IIS 8.5は、{controller}/{action}/{id}のために404を返します。
IIS 8.5の場合、{controller}/{action}/{id}に続くルートは404を返します。ルートが{controller}/{action}?id = {id}に変更された場合、正しい結果は200コードで返されました。
{controller}/{action}/{id}をMVCコントローラに正しくマップするためにIIS 8.5で有効にする必要がある設定はありますか?
マイルートの設定:Web構成の
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
関連セクション:
<system.web>
<compilation targetFramework="4.6.1" />
<httpRuntime targetFramework="4.5" maxUrlLength="99999" maxQueryStringLength="99999" />
<customErrors mode="RemoteOnly" />
<authentication mode="None" />
<authorization>
<allow users="*" />
</authorization>
</system.web>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
<remove name="FormsAuthentication" />
<remove name="UrlRoutingModule-4.0" />
<add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="" />
</modules>
</system.webServer>
私はthis questionでの提案を試みたが、彼らは404エラーを修正しませんでした。
アクセスしようとしているURLは何ですか? – Shyju
https://example.com:8080/controller/action/id内部のB2Bサイトなので、テストすることはできません。 – Cass
はあなたが実際に使用しようとしているURLですか? 'controllerController'というコントローラーと' action(int id) 'というアクションメソッドがありますか? – Shyju