繁体   English   中英

在Microsoft Windows Azure上设置网站的默认网页

[英]Set default webpage for website on Microsoft Windows Azure

我最近在azurewebsites.net上建立了一个网站。

但是,当我去网址http:/website.azurewebsites.net/它没有加载。

但是当我去http:/website.azurewebsites.net/home.aspx它加载。

我想要的是,如果用户访问http:/website.azurewebsites.net/,它将加载home.aspx内容或重定向到http:/website.azurewebsites.net/home.aspx

这不起作用

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

对不起,这里的实际链接http://rathgarfantasyhockey.azurewebsites.net/default.aspx工作正常,但当你去http://rathgarfantasyhockey.azurewebsites.net HTTP错误404时,显示The resource cannot be found

谁能帮忙?

根据这篇博客文章: http//blogs.msdn.com/b/cesardelatorre/archive/2010/07/22/how-to-set-a-default-page-to-a-windows-azure-web-角色的应用程序,Silverlight的ASP净etc.aspx

<defaultDocument> 
          <files>                           
             <clear/>                           
             <add value="Default.aspx"/>                      
          </files>
</defaultDocument>

应该管用。 或者您可以键入到Url映射它。 要做到这一点,请查看http://msdn.microsoft.com/en-us/library/cc668201.aspx

如果您使用的是MVC或Web API,请在RegisterRoutes()中添加以下行:

   routes.IgnoreRoute(""); 

这解决了我的问题。 希望它能帮到你。

如果您的应用程序是MVC应用程序,它会查找默认控制器而不是默认页面。

因此,您必须在RouteConfig中映射路由。 在我的情况下,我想用index.html页面加载网站,所以我做了:

RouteConfig.cs文件:

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

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

在我的HomeController,Index Action中,编写以下代码:

public ActionResult Index()
    {
        return Redirect("/index.html");
    }

这在Azure中使用共享站点可以正常工作。 我希望这能帮到您。

你有拼写错误吗?

你有:

<add value="Default.aspx" />

但你说你的“主页”是/home.aspx

如果您想为/home.aspx要显示当用户进入到http:/website.azurewebsites.net/的话,我能想到的几种方法,供您实现这一目标。

由于您将Default.aspx作为defaultDocument ,因此可以将home.aspx重命名为Default.aspx ,当有人访问http:/website.azurewebsites.net/时,将显示Default.aspx的内容。

如果您因为某些原因需要将home.aspx命名为home.aspx ,那么如果您要求将http:/website.azurewebsites.net/重定向到/home.aspx那么请创建一个名为Default.aspx的文件。根目录并编辑它以包含Response.Redirect("home.aspx", false); 有关此类页面的完整示例,请访问http://msdn.microsoft.com/en-us/library/a8wa7sdt(v=vs.80).aspx

更新:

尝试将enabled="true"添加到defaultDocument XML标记。 请参阅以下示例, 网址http://www.iis.net/ConfigReference/system.webServer/defaultDocument

 <system.webServer>
      <defaultDocument enabled="true">
         <files>
            <add value="home.html" />
         </files>
      </defaultDocument>
  </system.webServer>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM