ASP.NET MVC Routing .html uzantılı isteklerin yönlendirilmesi
Merhabalar, öncelikle .html uzantıları routinge uğramadan direk file sistemden aranıyordu. web.config dosyamızda system.webServer nodu içerisine aşağıdaki satırı ekleyin.
<add name="HtmlFileHandler" path="*.html" verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" >
Akabinde routinginiz aşağıdaki gibi bir şekil alsın. Gerisi size kalmış. İsterseniz gelen page yazısını db de aratıp istediğiniz bir control ve action a gönderebilirsiniz.
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.RouteExistingFiles = true;
routes.MapRoute(
name: "GenericHtml",
url: "{page}.html",
defaults: new { controller = "Common", action = "Generic", page = UrlParameter.Optional }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}