Игнорирование маршрута для сайта PHP, встроенного в ASP.NET MVC 3

#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/"); Также не забудьте поместить его первым в таблицу маршрутизации.

Вероятно, речь идет о пропущенном / в конце