Frage

Lassen Sie mich zunächst erklären, dass ich auf einer gehosteten Lösung bin, und ich kann nicht viel in Art der Konfiguration und Einstellungen für IIS 6 tun.

Ich habe MVC2 bis in einen Grad, ich verwende den folgenden globalen.asax -Code:

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

        routes.MapRoute(
            "Default",
            "{controller}.aspx/{action}/{id}",
            new { action = "Index", id = "" }
        );

        routes.MapRoute(
            "Root",
            "",
            new { controller = "Default", action = "Index", id = "" }
        );
    }

In der ersten Route musste ich {Controller} .aspx angeben, da IIS 6 nicht in der Lage war, Non -ASPX -Code auszuführen (oder so ähnlich, nicht wirklich sicher).

Das ist in Ordnung, die folgenden Funktionen: hxxp: //mysite.com/home.aspx, hxxp: //mysite.com/projects.aspx, hxxp: //mysit.com/contact.aspx

Das sind alles Controller und ich kann auch ihre angesehenen Aktionen ausführen.

Das Problem ist, dass ich keine leere URL ordnungsgemäß machen kann (dh hxxp: //mysit.com/). Sie gibt mir einen Fehler "Verzeichnislisten verweigert".

Die Frage, die ich habe, ist mit einer Standard -Datei, die sich am Root befindet (der ausführt). Kann ich den Heimcontroller ohne einfache Antwort laden. REDIRECT?

Danke, Matthew

War es hilfreich?

Lösung

Die Tatsache, dass Sie "Verzeichnislisten verweigert" erhalten, bedeutet, dass der ISAPI -Filetr nicht mit der Arbeit mit MVC übereinstimmt.

Andere Tipps

Die Tatsache, dass Sie "Verzeichnislisten abgelehnt" erhalten, bedeutet, dass Sie kein Standarddokument haben und der Server versucht, eine Liste von Dateien im Stammordner anzuzeigen.

Aktualisieren Sie das Standarddokument auf so etwas wie "default.aspx". Ihr Hosting -Anbieter sollte dafür eine Option haben. Das ist sehr häufig.

Sie können dieses Verhalten auf IIS6 und IIS7 deaktivieren

// Disable IIS looking at physical files and directories
RouteTable.Routes.RouteExistingFiles = true;
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top