Estoy tratando de convertir una aplicación ASP .NET MVC 2 para que se ejecute en nginx/mono 2.8. Hasta ahora parece funcionar bastante bien, excepto que la ruta predeterminada no funciona cuando la ruta está vacía. Estoy procesando todas las solicitudes hasta el servidor fastcgi y recibo una página ASP .NET 404 no encontrada.La ruta principal de Mono MVC 2 no funciona
es decir, esto no funciona
http://mysite.com
Pero esto hace
http://mysite.com/home
archivo
Mi Global.asax.cs se parece a esto
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;
namespace MyProject
{
public class MvcApplication : System.Web.HttpApplication
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
// Default route
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional }, // Parameter defaults
new string[] {"MyProject.Controllers"}
);
}
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
RegisterRoutes(RouteTable.Routes);
}
}
}
EDIT: Algunos más información en mi configuración. Estoy ejecutando OS X 10.6 si eso hace alguna diferencia. También existe el mismo problema para la ruta predeterminada de cualquier área en el proyecto MVC.
¿Una ruta como esta ayuda? 'routes.MapRoute (" Root ","/", new {controller =" Home ", action =" Index "})' –
Sí, agregar una ruta específica como esa funciona, pero preferiría no hacerlo como IIS y MVC no lo requieren No estoy seguro si es un problema con Mono o mi configuración de Nginx. – Alex
de acuerdo. No es lo que quieres hacer. –