#php #asp.net #iis #asp.net-mvc-3 #ignoreroute
#php #asp.net #iis #asp.net-mvc-3 #игнорирование маршрута
Вопрос:
У меня есть сайт на MVC 3 со встроенным блогом worpress. Все следующие URL-адреса перенаправляются через MVC.
www.mysite.com
www.mysite.com/aboutus
www.mysite.com/contactus
У меня также есть каталог верхнего уровня под названием Blog, который является блогом php WordPress. Если я получу доступ www.mysite.com/blog/index.php
, появится блог. Но весь доступ к www.mysite.com/blog
, похоже, маршрутизируется через MVC и выдает то, что кажется несвязанной ошибкой, относящейся к System.Web.Helpers
отсутствию (я развернул его в папке bin, поэтому я знаю, что проблема не в этом).
В RegisterRoutes
методе моего Global.asax.cs
файла я попробовал обе эти строки в верхней части метода, но, похоже, ни одна из них не работает.
routes.IgnoreRoute("Blog");
routes.IgnoreRoute("{folder}/{*pathinfo}", new { folder = "Blog" });
У кого-нибудь есть идея?
Я включил содержимое Global.asax.cs по запросу Snoopy:
public class MvcApplication : System.Web.HttpApplication
{
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new HandleErrorAttribute());
}
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("Blog");
routes.IgnoreRoute("{folder}/{*pathinfo}", new { folder = "Blog" });
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
}
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
RegisterGlobalFilters(GlobalFilters.Filters);
RegisterRoutes(RouteTable.Routes);
}
}
Комментарии:
1. пожалуйста, опубликуйте свои полные маршруты регистрации.
Ответ №1:
Используйте это, чтобы игнорировать маршрутизацию для папки «Blog».
routes.IgnoreRoute("Blog/{*pathInfo}");
Ответ №2:
Используйте Routes.IgnoreRoute("Blog/");
Также не забудьте поместить его первым в таблицу маршрутизации.
Вероятно, речь идет о пропущенном /
в конце