如何设置默认页面asp.net

时间:2013-08-01 19:21:35

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

我刚刚在我的服务器上发布了我的网站,但是当我在浏览器中输入www.mysite.com时出现此错误:HTTP错误403.14 - 禁止     Web服务器配置为不列出此目录的内容。但是,如果我键入www.mysite.com/Home.aspx,它会正确加载。那么,我该如何设置默认页面?我的web.config中已经有了这个:

<system.webServer>
   <defaultDocument>
     <files>
       <add value="Pages/Home.aspx" />
     </files>
   </defaultDocument>
  </system.webServer>

2 个答案:

答案 0 :(得分:66)

ASP.NET WebForms

web.config文件上,尝试使用以前的clear标记:

<system.webServer>
  <defaultDocument>
    <files>
      <clear />
      <add value="Pages/Home.aspx" />
    </files>
  </defaultDocument>
</system.webServer>

看看这里:http://www.iis.net/configreference/system.webserver/defaultdocument

ASP.NET MVC / ASP.NET CORE

根据您使用的asp.net mvc的版本,您可以将其放在另一个文件中(v3或更早版本中的~/Global.asax.cs或v4或更新版本中的~/App_Start/RouteConfig.cs)。在这两种情况下,您都会看到注册路由的内容,因为asp.net mvc使用路由而不是webforms等文件。因此,您可以更改默认值:

public static void RegisterRoutes(RouteCollection routes)
{
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

    routes.MapRoute(
        name: "Default",
        url: "{controller}/{action}/{id}",
        defaults: new 
        { 
            controller = "Home", // default controller
            action = "Index",  // default action on the controller
            id = UrlParameter.Optional
        }
    );
}

ASP.NET CORE 上类似。

看看这里:http://www.codeproject.com/Articles/624181/Routing-Basics-in-ASP-NET-MVC

答案 1 :(得分:4)

除了Felipe的回答,您也可以从IIS中执行此操作。

选择Admin Tools - &gt; IIS Manager - &gt;从列表中选择您的网站。点击右侧的Default Document,然后点击Add。使用箭头将条目移动到列表顶部。你完成了。

但是,每次发布网站时都会被覆盖。