ASP.NET MVCで.htmlをルーティング可能にする
設定方法
ASP.NET MVCで.htmlで終わるURLへのアクセスをルーティングを使用するように設定する方法です。 まずはWeb.configのに以下の設定を追加します。
<system.webserver>
    <handlers>
        <add name="HtmlFileHandler" path="*.html" verb="GET" 
            type="System.Web.Handlers.TransferRequestHandler" 
            precondition="integratedMode,runtimeVersionv4.0" />
    </handlers>
</system.webserver>
ルートの登録をします。
    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
        routes.RouteExistingFiles = true;
        routes.MapRoute(
            name: "HtmlPage",
            url: "{page}.html",
            defaults: new { controller = "Home", action = "Html", page = UrlParameter.Optional }
            );
        routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
            );
    }
Jon Galloway's Blog
Create at 2014/05/21 LastUpdate 2014/05/21