c# mvc3重定向sitemap.xml到控制器动作

本文关键字:控制器 xml mvc3 重定向 sitemap | 更新日期: 2023-09-27 17:50:25

我想将网站上为www.domain.com/sitemap.xml所做的每个调用重定向到控制器动作。我怎样才能做到这一点呢?

到目前为止我已经得到了这个,但是返回的状态码是302。我想用它返回一个200状态,但仍然重定向/重写到控制器动作。我问的原因是,我希望每个调用提到的url重定向到一个控制器动作。控制器做一些事情,甚至生成xml站点地图。然后需要返回控制器操作的输出。

protected void Application_BeginRequest()
{
    //Check if an call for the sitemap.xml has been made
    if (Request.Path == "/sitemap.xml")
    {
        Response.RedirectToRoute("XmlSitemap");
    }
}

c# mvc3重定向sitemap.xml到控制器动作

你可以使用MVC的路由特性来实现这一点:

routes.MapRoute(
    "Sitemap",
    "sitemap.xml",
    new { controller = "Home", action = "Sitemap" } 
);

与此放置放置在您的全局。