我正在尝试提供由Razor视图生成的博客sitemap.xml文件,就像在我的_AppStart.cshtml文件中一样:
//sitemap
RouteTable.Routes.MapWebPageRoute("sitemap.xml", "~/pages/shared/sitemap.cshtml");
由于某种原因,这条路线被忽略了,我得到了404.如果我将它路由到“/ sitemap”,它的工作正常,但是当我包含文件扩展名时,它会中断。我假设IIS在使用它之前对请求做了一些事情,但我不知道该怎么办。
答案 0 :(得分:0)
尝试将扩展名设为参数:
RouteTable.Routes.MapWebPageRoute(
"sitemap.{extension}", // route pattern
"~/pages/shared/sitemap.cshtml", // physical file
defaultValues: new {extension = "xml"}, // defaults
constraints: new {extension = "xml"}); // constraints (regex)