Tôi đang cố chuyển đổi ứng dụng ASP .NET MVC 2 để chạy trên nginx/mono 2.8. Cho đến nay nó có vẻ hoạt động khá tốt ngoại trừ việc tuyến mặc định không hoạt động khi đường dẫn trống. Tôi đang ủy quyền tất cả các yêu cầu thông qua máy chủ fastcgi và tôi được phục vụ với trang ASP .NET 404 không tìm thấy.Tuyến đường mono MVC 2 không hoạt động
tức này không hoạt động
http://mysite.com
Nhưng điều này không
http://mysite.com/home
tập tin
My Global.asax.cs trông giống như
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 này: Một số biết thêm trên thiết lập của tôi. Tôi đang chạy OS X 10.6 nếu điều đó tạo ra bất kỳ sự khác biệt nào. Ngoài ra cùng một vấn đề tồn tại đối với tuyến đường mặc định của bất kỳ khu vực nào trong dự án MVC.
Tuyến đường có thích trợ giúp này không? 'routes.MapRoute (" Root ","/", new {controller =" Home ", action =" Index "})' –
Có thêm một tuyến đường cụ thể như vậy không hoạt động nhưng tôi không muốn làm điều đó như IIS và MVC không cần nó. Tôi không chắc chắn nếu nó là một vấn đề với Mono hoặc thiết lập Nginx của tôi. – Alex
Đồng ý. Đó không phải là điều bạn muốn làm. –