2012-08-25 7 views
6

Ich habe vor kurzem eine Website auf azurewebsites.net eingerichtet.Standardwebseite für die Website auf Microsoft Windows Azure setzen

Aber wenn ich auf die URL gehen http: /website.azurewebsites.net/ wird nicht geladen.

Aber wenn ich zu http: /website.azurewebsites.net/home.aspx gehe, lädt es.

Was ich will, ist, dass , wenn ein Benutzer auf http geht: /website.azurewebsites.net/ es mit dem home.aspx Inhalt lädt oder auf http weitergeleitet: /website.azurewebsites.net/home.aspx

funktioniert das nicht

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

hier leider der eigentliche Link http://rathgarfantasyhockey.azurewebsites.net/default.aspx der gut arbeitet, aber wenn Sie zu http://rathgarfantasyhockey.azurewebsites.net HTTP-Fehler 404 gehen, wird The resource cannot be found angezeigt.

Kann mir jemand helfen ??

+0

Können Sie einen Kommentar hinzufügen, wie Ihr Standarddokument funktioniert? – HeatfanJohn

+1

Ich wählte die Frage, weil ich das gleiche Problem hatte, aber nicht die in meinem Abschnitt hatte. Hinzufügen, dass das Problem für mich gelöst, aber user1625190 hatte bereits das, so dass ich nicht weiß, was seine Auflösung war. Das Hinzufügen von "enabled = true" zum Tag , wie unten vorgeschlagen, hatte in meinem Fall keine Auswirkungen. – Opsimath

Antwort

7

Nach diesem Blog-Eintrag: 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> 

funktionieren soll. Oder Sie könnten es zu URL zuordnen. Auschecken http://msdn.microsoft.com/en-us/library/cc668201.aspx

+0

Hinzufügen' 'erlaubt mir, ein Standarddokument erfolgreich anzugeben. –

3

Haben Sie einen Tippfehler?

Sie haben:

<add value="Default.aspx" /> 

Aber sagten Sie, dass Ihre "Homepage", die /home.aspx funktioniert, ist.

Wenn Sie möchten, dass /home.aspx angezeigt wird, wenn der Benutzer zu http:/website.azurewebsites.net/ geht, dann kann ich mehrere Möglichkeiten für Sie, das zu erreichen.

Da Sie Default.aspx als defaultDocument haben, können Sie home.aspx-Default.aspx umbenennen und wenn jemand geht auf http: /website.azurewebsites.net/ der Inhalt Default.aspx angezeigt.

Wenn Sie home.aspx als home.aspx aus irgendeinem Grund genannt zu halten, dann, wie Sie, wenn Sie für http:/website.azurewebsites.net/ wollen fordert /home.aspx umleiten dann eine Datei Default.aspx im Stammverzeichnis genannt erstellen und bearbeiten es Response.Redirect("home.aspx", false); enthalten. Ein vollständiges Beispiel für diese Art von Seite finden Sie unter http://msdn.microsoft.com/en-us/library/a8wa7sdt(v=vs.80).aspx.

Update:

Versuchen Hinzufügen enabled="true" zu Ihrem defaultDocument XML-Tag. Siehe nachstehendes Beispiel von http://www.iis.net/ConfigReference/system.webServer/defaultDocument

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

Sorry nein, es ist nicht, die Seite ist /Default.aspx – user1625190

+0

Ich aktualisierte meine Antwort basierend auf Ihrem Kommentar. – HeatfanJohn

+0

hi, danke, dass du wieder zu mir gekommen bist, aber ich habe das gemacht, aber es funktioniert immer noch nicht. Wenn Sie zu http://rathgarfantasyhockey.azurewebsites.net/ gehen, zeigt es immer noch einen Fehler an. Wenn Sie zu http://rathgarfantasyhockey.azurewebsites.net/Default.aspx gehen, zeigt es/redirect auf die Homepage an, wie Sie sagten – user1625190

4

Wenn Ihre Anwendung eine MVC-Anwendung ist, sucht sie nach dem Standardcontroller anstelle von Standardseiten.

Sie müssen also eine Route in RouteConfig zuordnen. In meinem Fall wollte ich die Seite mit einer index.html Seite laden, also tat ich:

RouteConfig.cs-Datei:

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

Und in meinem Homecontroller, Index Aktion, schreiben Sie diesen Code:

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

Dies funktioniert gut in Azure mit einem gemeinsamen Grundstück. Ich hoffe, dies wird dir helfen.

+0

Sie können auch Routenanmerkungen zur besseren Kontrolle hinzufügen '' ' [Route (" ")] // Kombiniert zum Definieren der Routenvorlage" Home " [Route (" Index ")] // Kombiniert, um die Routenvorlage zu definieren "Home/Index" [Route ("/")] // Kombiniert nicht, definiert die Routenvorlage "" '' ' –

7

Wenn Sie MVC oder Web-API verwenden, fügen Sie die folgende Zeile in RegisterRoutes():

routes.IgnoreRoute(""); 

Das ist mein Problem gelöst. Hoffe es hilft dir.

+0

Dies ist, was es für mich behoben. Ich habe die anderen Lösungen ausprobiert, aber es hat nicht funktioniert, bis ich das hinzugefügt habe. –

Verwandte Themen