Я создал правила маршрутизации в своем приложении ASP.NET, и на моей машине Dev на IIS7 все работает нормально. При развертывании решения на Prod Server, который также имеет IIS7, я получаю ошибку 404 (страница не найдена) при доступе к URL. Может быть, кто-то может указать, где проблема?
Фактическая ошибка
Ошибка HTTP 404.0 - не найден
ресурс, который вы ищете, был
удален, изменилось ли его имя или
Временно недоступен. детализированный
Информация об ошибкахМодуль IIS Web Core
Карта уведомленийRequestHandler
Код ошибки обработчика статического файла
0x80070002 Запрошенный URL
http://xxx.xxx.xxx.xxx:80/pdf-button
Физический Путь
C: \ www \ pathtoproject \ pdf-button Вход в систему
Метод Аноним Вход в систему Пользователь Аноним
Мой фактический код
<add key="RoutePages" value="all,-forum/"/>
UrlRewrite.Init(ConfigurationManager.AppSettings["RoutePages"]);
public static class UrlRewrite
{
public static void Init(string routePages)
{
_routePages = routePages.ToLower().Split(new[] { ',' });
RegisterRoute(RouteTable.Routes);
}
static void RegisterRoute(RouteCollection routes)
{
routes.Ignore("{resource}.axd/{*pathInfo}");
routes.Ignore("favicon.ico");
foreach (string routePages in _routePages)
{
if (routePages == "all")
routes.MapPageRoute(routePages, "{filename}", "~/{filename}.aspx");
else
if (routePages.StartsWith("-"))
routes.Ignore(routePages.Replace("-", ""));
else
{
var routePagesNoExt = routePages.Replace(".aspx", "");
routes.MapPageRoute(routePagesNoExt, routePagesNoExt, string.Format("~/{0}.aspx", routePagesNoExt));
}
}
}
}