有关站点地图的问题

时间:2010-07-20 09:35:09

标签: security apache sitemap lamp

我将我的站点地图存储在我的网络文件夹中。我希望网络抓取工具(Googlebot等)能够访问该文件,但我不一定希望所有人都可以访问它。

例如,此站点(stackoverflow.com)具有站点索引 - 由其robots.txt文件(https://stackoverflow.com/robots.txt)指定。

但是,当您输入https://stackoverflow.com/sitemap.xml时,系统会将您定向到404页面。

如何在我的网站上实现相同的功能?

我正在运行LAMP网站,我也在使用站点地图索引文件(因此我有多个站点地图)。我想使用相同的机制通过浏览器使它们不可用,如上所述。

3 个答案:

答案 0 :(得分:0)

您可以检查客户端发送的用户代理标头,并仅将站点地图传递给已知搜索机器人。但是,这不是很安全,因为用户代理标头很容易被欺骗。

答案 1 :(得分:0)

Stack Overflow可能会在决定谁可以访问站点地图时检查两件事:

  • USER_AGENT字符串
  • 原始IP地址

两者都可能与已知合法机器人的数据库相匹配。

使用服务器端语言检查USER_AGENT字符串非常容易;它也很容易伪造。更多信息:

答案 2 :(得分:0)

首先,确定您希望获得实际站点地图的网络。

其次,配置您的Web服务器以从这些网络为您的站点地图文件授予请求,并配置您的Web服务器以将所有其他请求重定向到您的404错误页面。

对于nginx,您希望将allow 10.10.10.0/24;之类的内容粘贴到站点地图文件的location块中。

对于apache,您希望在Allow指令中使用mod_authz_host<Files>指令作为站点地图文件。