MvcSiteMapProvider - 防止显示器/ sitemap.xml的服务(MvcSit

2019-10-21 05:22发布

我有一个使用MvcSiteMapProvider一个web应用程序,但我不希望它的服务器/sitemap.xml每一页,但在登录页面需要身份验证,所以没有必要对公众看到我的网站地图。

有没有办法关闭在配置了该/sitemap.xml文件? 还是有办法与RoutesConfig办呢?

Answer 1:

按照该文件 ,如果使用内部DI,您可以禁用/sitemap.xml采用端点MvcSiteMapProvider_EnableSitemapsXml设置。

<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网站地图文件的网站,他们必须被明确提出。 根据站点地图协议 ,它们可经由HTTP请求,或通过将位置于所提交的,经由搜索引擎控制面板\robots.txt文件。 但所有这些都没有在站长的一部分明确的干预来完成。 在所有情况下,网站管理员会选择与XML网站地图将在托管的URL。 不像\robots.txt文件中,有没有为它的默认位置。 我们选择了最合理的逻辑路径\sitemap.xml ,但在技术上它可以是任何东西。



文章来源: MvcSiteMapProvider - Prevent display/serving sitemap.xml