设置ASP.NET MVC站点默认页为html页

时间:2022-06-01 17:56:09

问题由来

部署了一个Asp.Net MVC的站点,其功能只是作为移动端的服务器,服务器空间里面除了CMS以外就没有其他的页面了。这对于我们来说确实是有点浪费了。

可以放点静态的啥小东西放在上面玩一玩。

所以就出现了标题中出现的问题。

解决方案:

方法1:

在Global.asax文件中增加

protected void Application_BeginRequest(object sender, EventArgs e)
{
    if (Context.Request.FilePath == "/") Context.RewritePath("index.html");
}

方法2:

新建一个路由DefaultController,并把它设置为默认路由,在Action中增加

Redirect(Url.Content("~/index.html"));

此方法需要修改web.config配置

在Web.config文件中的<compilation>节点中增加:

<buildProviders>
        <add extension=".htm" type="System.Web.Compilation.PageBuildProvider" />
      </buildProviders>

方法3:

1)站点根目录增加了default.html;

2)修改Global.asax默认的路由注册,去掉默认controller:

routes.MapRoute(
                "Default", // 路由名称
                "{controller}/{action}/{id}", // 带有参数的 URL
                new {action = "Index", id = UrlParameter.Optional } // 参数默认值
            );

将iis中的默认文档配置为index.html