Domanda

Innanzitutto lasciami spiegare che sono su una soluzione ospitata e non c'è molto che posso fare in modi di configurazione e impostazioni per IIS 6.

Ho MVC2 che lavora fino a un certo punto, sto usando il seguente codice Global.asax:

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

Nel primo percorso, ho dovuto specificare {controller} .aspx, a causa della non essere in grado di eseguire codice non ASPX (o qualcosa del genere, non è davvero sicuro).

Che va bene, le seguenti opere: hxxp: //mysite.com/home.aspx, hxxp: //mysite.com/projects.aspx, hxxp: //mysite.com/contact.aspx

che sono tutti controller e posso anche eseguire le loro azioni rispettate.

Il problema è che non posso eseguire correttamente un URL vuoto (cioè hxxp: //mysite.com/), mi dà un errore "elenco di directory negata".

La domanda che ho, è con un file predefinito.aspx situato a root (che esegue), posso caricare il controller home senza utilizzare una semplice risposta.rerect?

Grazie, Matthew

È stato utile?

Soluzione

Il fatto che stai ottenendo "elenco di directory negato" significa che il filetr ISAPI non corrisponde per lavorare con MVC.

Altri suggerimenti

Il fatto che stai ricevendo "elenco di directory negato" significa che non si dispone di un documento predefinito e quindi il server sta cercando di mostrare un elenco di file nella cartella root.

Aggiorna il documento predefinito a qualcosa come "Default.aspx". Il tuo provider di hosting dovrebbe avere un'opzione per questo. Questo è molto comune.

Puoi disabilitare questo comportamento su IIS6 e IIS7

// Disable IIS looking at physical files and directories
RouteTable.Routes.RouteExistingFiles = true;
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top