我定義了很多顯式路由。其中之一是:默認和catchall路由問題
routes.MapRoute("default", "",
new { controller = "Home", action = "Index" });
最後,我定義了一個包羅萬象的路線:
routes.MapRoute("PageNotFound", "{*url}",
new { controller = "Error", action = "Http404" });
如果我去主頁http://localhost,然後將HTTP404顯示的頁面。奇怪的是,如果我刪除catchall路線,那麼歡迎頁面顯示正確。 請注意,我有一個菜單,我打電話Url.RouteUrl(「默認」),並正確地生成主頁的鏈接。
那麼,爲什麼我的默認路由在catchall路由存在時沒有激活?
更新:我使用的是routes.RouteExistingFiles = true。如果我刪除它,那麼它按預期工作。但我需要它被設置爲true。這裏有什麼問題?
謝謝。