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