1

我正在尝试提供由 Razor 视图生成的博客的 sitemap.xml 文件,就像在我的 _AppStart.cshtml 文件中一样:

//sitemap
RouteTable.Routes.MapWebPageRoute("sitemap.xml", "~/pages/shared/sitemap.cshtml");

由于某种原因,这条路线被忽略了,我得到一个 404。如果我将它路由到“/sitemap”,它工作正常,但是当我包含文件扩展名时它会中断。我假设 IIS 在 ASP.NET 获取它之前对请求进行了处理,但我不确定该怎么做。

4

1 回答 1

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)
于 2012-12-17T17:35:27.327 回答