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

时间:2016-08-03 06:12:00

标签: c# asp.net-mvc-4 mvcsitemapprovider

我正在尝试禁止在生产环境之外访问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> 

2 个答案:

答案 0 :(得分:0)

您可以添加IIS Please see here

答案 1 :(得分:0)

为什么世界上你想要&#34;限制&#34;它? /sitemap.xml需要公开,或搜索引擎(它的用途)不会被阅读。请参阅protocol definition on Sitemaps.org

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

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