我已经实现了一个网站地图,它是使用所描述的here技术动态生成的。
因为我的站点是一个WebForms应用程序,所以我的站点地图URL最终是www.mydomain.com/Sitemap.aspx。
这工作得很好,我可以使用搜索引擎网站管理员工具告诉他们我的网站地图的URL。但是,较小的搜索引擎可能不知道在哪里可以找到此文件。如果我的动态生成的站点地图可以位于www.mydomain.com/sitemap.xml,那就更好了。这是站点地图的标准URL。
要生成与我现在所做的相同的站点地图数据,最简单的方法是将其显示为文件sitemap.xml。我可以使用路由来完成吗,或者我需要一个自定义的HTTP处理程序?
我正在使用webforms,但也有使用ASP.NET MVC的网站,所以我非常有兴趣找到在这两个平台上做这件事的最佳技术。
发布于 2012-04-22 03:37:36
对于Webforms,您可以使用HttpModule,请查看UrlRewriting.NET
对于MVC,使用路由:
routes.MapRoute("Sitemap",
"sitemap.xml",
new { controller = "Home", action = "Sitemap" })发布于 2012-10-30 20:36:59
对于Webforms,你也可以像上面提到的那样更新你的web.config,你只需使用普通的aspx或aspx页面,然后使用重写来变魔术:-) (我使用.net 4.0)
例如:
<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>https://stackoverflow.com/questions/10262228
复制相似问题