asp.net-mvc webforms sitemap

asp.net mvc - Generación dinámica de sitemap.xml



asp.net-mvc webforms (2)

Para Webforms, puede usar HttpModule, consulte UrlRewriting.NET

Para MVC, use el enrutamiento:

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

Implementé un mapa del sitio que se genera dinámicamente sobre la marcha usando la técnica que se describe aquí .

Como mi sitio es una aplicación de WebForms, mi URL de sitemap termina siendo www.mydomain.com/Sitemap.aspx.

Esto está funcionando bien, y puedo utilizar las herramientas de webmaster del motor de búsqueda para decirles la URL de mi mapa del sitio. Sin embargo, los motores de búsqueda más pequeños pueden no saber dónde encontrar este archivo. Sería mejor si mi mapa del sitio generado dinámicamente pudiera estar en www.mydomain.com/sitemap.xml. Esta es la URL estándar para un mapa del sitio.

¿Cuál es la forma más fácil de generar los mismos datos de sitemap que tengo ahora pero que aparezca como el archivo sitemap.xml? ¿Puedo hacerlo usando el enrutamiento o necesito un manejador HTTP personalizado?

Estoy usando formularios web pero también tengo sitios que usan ASP.NET MVC, así que estoy muy interesado en encontrar la mejor técnica para hacerlo en ambas plataformas.


Para Webforms, también puedes actualizar tu web.config como se mencionó anteriormente, solo usar aspx simple o página ascx y luego hacer magia con reescribir :-) (yo uso .net 4.0)

p.ej

<system.webServer> <rewrite> <rules> <rule name="Main Sitemap" stopProcessing="true"> <match url="^sitemap.xml"/> <action type="Rewrite" url="sitemap/sitemap.aspx" appendQueryString="false"/> </rule> </rules> </rewrite> </system.webServer>