Есть обходной путь.
Вы можете добавить ниже обработчики запросов в web.config.
<system.webServer>
<handlers>
<add name="HtmlFileHandler" path="*.html" verb="GET" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="AspxlFileHandler" path="*.aspx" verb="GET" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
</system.webServer>
Затем вы можете создать определения маршрута:
routes.MapRoute(
name: "LegacyHtml",
url: "{page}.html",
defaults: new { controller = "Home", action = "LegacyPage", page = UrlParameter.Optional }
);
routes.MapRoute(
name: "LegacyAspx",
url: "{page}.aspx",
defaults: new { controller = "Home", action = "LegacyPage", page = UrlParameter.Optional }
);
Далее вы можете обработать запрос в действии контроллера, упомянутом в маршрутах.
Или вы можете продолжитьперенаправить действия на другие страницы / сайты в зависимости от значения переменной пути к странице.
Это прекрасно объясняется в этом блоге.