Пользовательская маршрутизация MVC2 прерывается, когда сайт находится в подпапке IIS - PullRequest
0 голосов
/ 25 января 2012

Итак, я реализовал собственную маршрутизацию в mysite.

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 или сервер. Тем не менее, мои пользовательские маршруты не работают вообще. Мои обычные маршруты работают просто отлично - как домашняя страница, некоторые информационные страницы и т. Д. Это только страницы с моей пользовательской маршрутизацией. Что я сделал не так?

1 Ответ

1 голос
/ 14 февраля 2012

Пытались ли вы с самого начала поменять порядок маршрутов? У меня это сработало.

Попробуйте также этот отладчик: http://haacked.com/archive/2008/03/13/url-routing-debugger.aspx

Очень помогает!

...