如何在ASP.NET Core 2中为所有Razor页面添加.html url后缀?

时间:2018-05-29 19:59:54

标签: c# asp.net-mvc asp.net-core-mvc

我有一个ASP.NET Core 2.0 MVC应用程序,使用存储在/ Pages文件夹下的项目树中的Razor页面。

使用默认路由等设置项目。

我希望所有Razor页面在浏览器的地址栏中都有.html扩展名。

文件/Pages/test.cshtml目前可通过http://localhost/test获取。我希望通过http://localhost/test.html提供此页面。

我尝试了解路由设置,但未能充分了解解决方案。

我应该写什么,以便通过.html后缀提供文件?

1 个答案:

答案 0 :(得分:3)

为此定义了一条路线,如下所示:

routes.MapRoute(
"MyHtml",
"{controller}/{action}.html",
new { controller = "Home", action = "Index" });

并将HtmlFileHandler添加到web.config。并且.html路线现在可以使用。

<handlers>
  <add name="HtmlFileHandler" path="*.html" verb="GET" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>