2017-11-30 22 views
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エラーを修正しませんでした。

+0

アクセスしようとしているURLは何ですか? – Shyju

+0

https://example.com:8080/controller/action/id内部のB2Bサイトなので、テストすることはできません。 – Cass

+0

はあなたが実際に使用しようとしているURLですか? 'controllerController'というコントローラーと' action(int id) 'というアクションメソッドがありますか? – Shyju

答えて

0

ちょうどそのサイトのIISで何かがボークになっているようです。サイトを削除して再デプロイすると問題が解決しました

関連する問題