2012-08-25 20 views
6

Recientemente establecí un sitio web en azurewebsites.net.Establecer la página web predeterminada para el sitio web en Microsoft Windows Azure

Pero cuando voy a la url http: /website.azurewebsites.net/ no carga.

Pero cuando voy a http: /website.azurewebsites.net/home.aspx se carga.

Lo que quiero es que si un usuario va a http: /website.azurewebsites.net/ se carga con el contenido home.aspx o redirecciona a http: /website.azurewebsites.net/home.aspx

Esto no funciona

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

lo sentimos aquí está el enlace real http://rathgarfantasyhockey.azurewebsites.net/default.aspx que funciona muy bien, pero cuando vas a un error HTTP 404 http://rathgarfantasyhockey.azurewebsites.net, se muestra The resource cannot be found.

¿Alguien puede ayudar?

+0

¿Puede agregar un comentario acerca de qué hizo que su documento predeterminado comenzara a funcionar? – HeatfanJohn

+1

Voté la pregunta porque tenía el mismo problema pero no tenía el en mi sección . Agregar eso me solucionó el problema, pero user1625190 ya lo tenía, así que no sé cuál fue su resolución. Por cierto, agregar 'enabled = true' a la etiqueta como se sugiere a continuación no tuvo ningún efecto en mi caso. – Opsimath

Respuesta

7

De acuerdo con esta entrada del blog: http://blogs.msdn.com/b/cesardelatorre/archive/2010/07/22/how-to-set-a-default-page-to-a-windows-azure-web-role-app-silverlight-asp-net-etc.aspx

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

debería funcionar. O puede escribir en Url para mapearlo. Para hacerlo, consulte http://msdn.microsoft.com/en-us/library/cc668201.aspx

+0

Agregando' 'me permitió especificar con éxito un documento predeterminado. –

3

¿Tiene un error?

tiene:

<add value="Default.aspx" /> 

Pero usted dijo que su "página de inicio" que funciona es /home.aspx.

Si desea que /home.aspx se muestre cuando el usuario va al http:/website.azurewebsites.net/, entonces puedo pensar en varias formas de lograrlo.

Puesto que usted tiene Default.aspx como su defaultDocument, puede cambiar el nombre home.aspx a Default.aspx y cuando alguien va a http: /website.azurewebsites.net/ se mostrarán los contenidos de Default.aspx.

Si usted necesita para mantener home.aspx nombrado como home.aspx por alguna razón, a continuación, como usted pidió si quieres para http:/website.azurewebsites.net/ para redirigir a /home.aspx a continuación, crear un archivo llamado Default.aspx en el directorio raíz y editarla para contener Response.Redirect("home.aspx", false);. Un ejemplo completo para este tipo de página está disponible en http://msdn.microsoft.com/en-us/library/a8wa7sdt(v=vs.80).aspx.

Actualización:

Trate de añadir enabled="true" a su etiqueta defaultDocument XML. Véase el siguiente ejemplo de http://www.iis.net/ConfigReference/system.webServer/defaultDocument

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

Lo siento no, no es así, la página es /Default.aspx – user1625190

+0

Actualicé mi respuesta en función de su comentario. – HeatfanJohn

+0

hola, gracias por contactarme pero lo hice pero aún así no funciona. si vas a http://rathgarfantasyhockey.azurewebsites.net/ aún muestra un error. Si va a http://rathgarfantasyhockey.azurewebsites.net/Default.aspx muestra/redirecciona a la página de inicio como dijo – user1625190

4

Si su aplicación es MVC, busca el controlador predeterminado en lugar de las páginas predeterminadas.

Por lo tanto, debe asignar una ruta en RouteConfig. En mi caso, quería cargar el sitio con una página index.html, así que lo hice:

RouteConfig.cs archivo:

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 } 
     ); 
    } 

Y en mi HomeController, Índice de Acción, escribir este código:

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

Esto funciona bien en Azure con un sitio compartido. Espero que esto ayude.

+0

También puede agregar anotaciones de ruta para un mejor control '' ' [Ruta (" ")] // Combina para definir la plantilla de ruta" Inicio " [Ruta (" Índice ")] // Combina para definir la plantilla de ruta "Inicio/Índice" [Ruta ("/")] // No combina, define la plantilla de ruta "" '' ' –

7

Si está utilizando MVC o API Web, agregue la siguiente línea en RegisterRoutes():

routes.IgnoreRoute(""); 

Esto resolvió mi problema. Espero que te ayude

+0

Esto es lo que me solucionó. Probé con las otras soluciones, pero no funcionó hasta que agregué esto. –

Cuestiones relacionadas