6

我最近在 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.netThe resource cannot be found时,会显示HTTP 错误 404 。

有人可以帮忙吗??

4

4 回答 4

7

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

   routes.IgnoreRoute(""); 

这解决了我的问题。希望它可以帮助你。

于 2013-11-08T08:40:49.187 回答
7

根据这篇博文:http: //blogs.msdn.com/b/cesardelatorre/archive/2010/07/22/how-to-set-a-default-page-to-a-windows-azure-web-角色应用程序-silverlight-asp-net-etc.aspx

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

应该管用。或者您可以键入到 URL 映射它。为此,请查看http://msdn.microsoft.com/en-us/library/cc668201.aspx

于 2012-08-26T00:59:08.127 回答
4

如果您的应用程序是 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 中运行良好。我希望这能帮到您。

于 2013-03-23T22:33:51.100 回答
3

你有错字吗?

你有:

<add value="Default.aspx" />

但是您说您的“主页”有效的是/home.aspx.

如果您想/home.aspx在用户访问时显示http:/website.azurewebsites.net/,那么我可以想出几种方法来实现这一点。

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

如果您出于某种原因需要保持home.aspx命名为home.aspx,那么根据您的要求,如果您想http:/website.azurewebsites.net/重定向到然后在根目录中/home.aspx创建一个名为的文件并编辑它以包含. 此类页面的完整示例可在http://msdn.microsoft.com/en-us/library/a8wa7sdt(v=vs.80).aspx获得。Default.aspxResponse.Redirect("home.aspx", false);

更新:

尝试添加enabled="true"到您的defaultDocumentXML 标记。请参阅以下来自http://www.iis.net/ConfigReference/system.webServer/defaultDocument的示例

 <system.webServer>
      <defaultDocument enabled="true">
         <files>
            <add value="home.html" />
         </files>
      </defaultDocument>
  </system.webServer>
于 2012-08-25T23:42:02.433 回答