如何在 mvc4 的生产服务器之外禁用对 Sitemap.xml 文件的访问?

How to disable access to Sitemap.xml file outside the production server in mvc4?

我正在尝试禁止在生产环境之外访问 Sitemap.xml 文件。目前如果用户输入 http://localhost:62777/sitemap.xml 它是可以访问的,但我想限制它。目前我尝试如下但没有运气

<location path="sitemap.xml">
    <system.web>
      <authorization>
        <deny users="?"/>
      </authorization>
    </system.web>
  </location>

有没有其他方法可以从生产环境之外禁用它?提前致谢。 我也试过如下但没有工作

<httpHandlers>

    <add path="sitemap.xml" verb="*" type="System.Web.HttpForbiddenHandler" name="xml (integrated)" preCondition="integratedMode" />
  </httpHandlers> 

可以在IIS中添加Please see here

你到底为什么要"restrict"呢? /sitemap.xml 需要公开可用,否则搜索引擎(这就是它的用途)不会阅读它。参见 protocol definition on Sitemaps.org.

也就是说,如果您出于某种原因不想使用它(例如滚动您自己的站点地图解决方案或者如果您的站点不面向 Internet),您可以 disable it.

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