0

我有一个 ajax 丰富的网站,其中包含大量用于 Ajax 索引的 _escaped_fragment_ 部分。虽然我所有的 _escaped_fragment_ url 都会 301 重定向到一个特殊的模块,然后输出爬虫需要的 HTML 快照(即mysite.com/#!/content重定向到mysite.com/?_escaped_fragment_=/content哪个,然后 301s 到mysite.com/raw/content),但我有点害怕用户自己绊倒这些“原始” URL 并制作它们出现在搜索引擎中。

在 PHP 中,我如何确保只有机器人可以访问网站的这一部分?(就像 StackOverflow 不允许普通用户使用它的站点地图,只允许机器人访问它)

4

1 回答 1

2

你不能,至少不能可靠。

robots.txt 要求蜘蛛远离网站的某些部分,但对于普通用户代理来说没有等效的。

您最接近的方法是尝试保留可接受的 IP 地址或用户代理的白名单,并基于此提供不同的内容……但这可能会导致误报。

就个人而言,我会停止迎合旧的 IE,放弃#!URI 和escaped_fragmenthack,切换到 usingpushState和 friends,并让服务器为任何给定页面构建初始视图。

于 2013-07-30T08:55:13.320 回答