Начиная с .NET 3.5, вы можете маршрутизировать существующие файлы:
public static void RegisterRoutes(RouteCollection routes) {
routes.RouteExistingFiles = true;
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home",
action = "Index",
id = UrlParameter.Optional }
);
}
Предположим, у нас в корневом каталоге сайта была папка Markets
, содержащая файл audio.mp3
:
\Markets
\Markets\audio.mp3
Предполагая существование MarketsController
, если мы сделаем запрос на Markets
, он будет перенаправлен на Markets/Index
.
Если бы мы запросили /Markets/audio.mp3
, мы бы получили mp3-файл, а если бы мы запросили Markets/AnythingElse
, применима обычная маршрутизация.