【问题标题】:MvcSiteMapProvider - Prevent display/serving sitemap.xmlMvcSiteMapProvider - 防止显示/服务 sitemap.xml
【发布时间】:2015-01-01 01:55:51
【问题描述】:

我有一个使用 MvcSiteMapProvider 的网络应用程序,但我不希望它像每个页面一样服务器 /sitemap.xml,但登录页面需要身份验证,因此公众无需查看我的站点地图。

有没有办法在配置中关闭 /sitemap.xml 文件?还是使用 RoutesConfig 的方法?

【问题讨论】:

    标签: asp.net-mvc mvcsitemapprovider


    【解决方案1】:

    根据the documentation,如果使用内部DI,您可以使用MvcSiteMapProvider_EnableSitemapsXml 设置禁用/sitemap.xml 端点。

    <appSettings>
        <add key="MvcSiteMapProvider_EnableSitemapsXml" value="false"/>
    </appSettings>
    

    如果使用外部 DI,您需要从 /App_Start/MvcSiteMapProviderConfig.cs 文件(或您的应用程序启动代码中可能存在的任何其他位置)中删除此行。

    // Register the Sitemaps routes for search engines
    //XmlSiteMapController.RegisterRoutes(RouteTable.Routes);
    

    仅供参考-尽管此设置可以满足您的要求,但一开始确实没有问题。搜索引擎不会扫描网站以查找 XML 站点地图文件,它们必须明确提交。根据sitemap protocol,它们可以通过HTTP 请求、通过搜索引擎控制面板或通过将位置添加到\robots.txt 文件来提交。但是,如果没有网站管理员的明确干预,这些都不会完成。在所有情况下,网站管理员都会选择托管 XML 站点地图的 URL。与\robots.txt 文件不同,它没有默认位置。我们选择了最合理的逻辑路径\sitemap.xml,但从技术上讲,它可以是任何东西。

    【讨论】:

      猜你喜欢
      • 2015-06-12
      • 1970-01-01
      • 2014-03-21
      • 2017-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多