IgnoreRoute для PHP Сайт встроен в ASP.NET MVC 3
У меня есть сайт MVC 3 со встроенным блогом worpress. Все следующие URL-адреса направлены через MVC.
www.mysite.com
www.mysite.com/aboutus
www.mysite.com/contactus
У меня также есть каталог верхнего уровня, который называется Блог, который является блогом на PHP. Если я получу доступ 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);
}
}
2 ответа
Использование Routes.IgnoreRoute("Blog/");
Также не забудьте поместить это сначала в таблицу маршрутизации.
Это наверное о пропавших /
в конце
Используйте это, чтобы игнорировать маршрутизацию для папки "Блог".
routes.IgnoreRoute("Blog/{*pathInfo}");