Я работаю над проектом веб-форм ASP.NET 4.0, который использует маршрутизацию страниц для обслуживания контента CMS.
Точный код:
routes.MapPageRoute("ContentNavigateUrl", "{*navigateurl}", "~/Router.aspx", true, new RouteValueDictionary { }, new RouteValueDictionary { { "navigateurl", @"[-_a-zA-Z0-9/]+(\.aspx(\?.+)?)?" } });
На сайте есть смесь фиксированных страниц aspx и страниц CMS, обслуживаемых Router.aspx.
Содержимое CMS имеет URL-адреса, такие как /xyz/abc.
Все работает хорошо, за исключением случаев, когда существует фактическая папка, и если в папке нет страницы по умолчанию, IIS отправляет ошибку 403 (просмотр каталога не включен).
Как пример:
Существует фактическая папка с именем / xyz, в которой есть несколько страниц aspx, но нет страницы по умолчанию. Если я запрашиваю http://domain.com/xyz, я получаю ошибку 403 вместо нее, используя Router.aspx, как я хочу, и отображая содержимое CMS.
Есть ли настройка IIS, которую нужно изменить, или что-то в моем коде?
Спасибо.