Итак, я реализовал пользовательскую маршрутизацию в mysite.MVC2 Пользовательская маршрутизация Перерывы, когда сайт находится в подпапке IIS
routes.MapRoute(
"WithFriendlyNameOnly",
"{friendlyName}",
new { controller = "Home", action = "Redirect", friendlyName = String.Empty, id = UrlParameter.Optional },
new { friendlyName = new MustBeFriendlyName() }
);
routes.MapRoute(
"WithFriendlyNameDefault",
"{friendlyName}/{controller}",
new { controller = "Home", action = "Index", friendlyName = String.Empty, id = UrlParameter.Optional },
new { friendlyName = new MustBeFriendlyName() }
);
routes.MapRoute(
"WithFriendlyName",
"{friendlyName}/{controller}/{action}/{id}",
new { controller = "Home", action = "Redirect", friendlyName = String.Empty, id = UrlParameter.Optional },
new { friendlyName = new MustBeFriendlyName() }
);
routes.MapRoute(
"DefaultWithRule", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional },
new { controller = new MustNotRequireFriendlyName() }
);
Это нормально работает на месте. Я использую дружественное имя для определения вашего контекста на сайте сайта. Без этого все, что я вам даю, - это 404 страница.
Моя тестовая среда - это Windows 2008 Server (IIS 7.5), и мое приложение находится в подпапке, подобной этой: test.mydomain.com/mysite. Все работало нормально, пока я не сделал этот новый настраиваемый URL-адрес, поэтому я уверен, что это не IIS или сервер. Однако мои пользовательские маршруты вообще не работают. Мои обычные маршруты работают очень хорошо - например, домашняя страница, некоторые информационные страницы и т. Д. Это только страницы с моей настраиваемой маршрутизацией. Что я сделал не так?