Próbuję przekonwertować aplikację ASP .NET MVC 2 na Nginx/mono 2.8. Do tej pory wydaje się, że działa całkiem dobrze, z tym że domyślna trasa nie działa, gdy ścieżka jest pusta. Pośredniczę wszystkie żądania przez serwer fastcgi i otrzymuję dostęp do strony nie znalezionej ASP .NET 404.Trasa główna Mono MVC 2 nie działa
znaczy to nie działa
http://mysite.com
Ale to robi
http://mysite.com/home
plik
My Global.asax.cs wygląda to
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: trochę więcej informacji na mojej konfiguracji. Używam OS X 10.6, jeśli to robi jakąkolwiek różnicę. Również ten sam problem istnieje dla domyślnej trasy dla dowolnych obszarów w projekcie MVC.
Czy taka trasa jest pomocna? 'routes.MapRoute (" Root ","/", nowy {controller =" Home ", akcja =" Index "})' –
Tak, dodanie konkretnej trasy działa, ale wolałbym nie robić tego jako IIS i MVC nie wymagaj tego. Nie jestem pewien, czy jest to problem z Mono czy moją konfiguracją Nginx. – Alex
Uzgodnione. To nie jest to, co chcesz robić. –