Skip to main content
 首页 » 编程设计

C# mvc3 将 sitemap.xml 重定向到 Controller 操作

2024年02月23日28lyj

我想将针对 www.domain.com/sitemap.xml 的网站上的每个调用重定向到 Controller 操作。我怎样才能做到这一点?

到目前为止我已经知道了,但是返回的状态代码是 302。我想用它返回 200 状态,但仍然重定向/重写到 Controller 操作。我问的原因是我希望将提到的 url 的每个调用都重定向到 controlleraction。 Controller 执行一些 foo en 生成 xml 站点地图。然后需要返回这个controlleraction的输出。

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

请您参考如下方法:

您可以使用 MVC 的路由功能来实现这一点:

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

将其放置在您的 global.asax 文件中后,所有对 domain.com/sitemap.xml 的请求都将被路由到 Home Controller 的 Sitemap 操作。