问题描述
|
我有一些页面,而不是目录,我不需要蜘蛛来访问。我想添加一个脚本来检查“代理信息”,如果它与某个爬网程序的一部分匹配,我想将其轻轻地重定向到另一页。在页面级别而不是.htaccess文件中进行重定向的最佳方法是什么?仍然是旧的Meta更新标签吗?
if (crawler) {
echo \'<Meta HTTP-EQUIV=\"Refresh\" CONTENT=\"1; URL=redirect.html\">\';
}
解决方法
您应该使用robot.txt:更多信息
在您的页面中显示仅向漫游器显示的内容是一种被搜索引擎列入黑名单的好方法。
, 最好的方法是修改robots.txt
用户代理: *
不允许:something.php
禁止:other.php
如果您要将它们重定向到某个地方,则此meta标签将无法正常工作,因此抓取工具很少解析页面。
只是使
if(preg_match(user agent))
{
header(\'Location: somewhere_i_want_them.php\');
die();
}
, 您可以选中$_SERVER[\'HTTP_USER_AGENT\']
(用户代理)以检查所使用的客户端用户的类型。 \“良好的爬虫\”(例如Googlebot)在HTTP用户代理字段中使用其名称,例如Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
。但是,某些爬网程序使用普通Web浏览器的用户代理文本作为其用户代理文本(并忽略诸如“ 4”之类的其他内容),并且无法将这些爬网程序标识为爬网程序。
您可以使用PHP的preg_replace函数或其他工具来识别用户代理。像“ 5”之类的东西就可以完成工作。
使用META
标记重定向抓取工具/漫游器不是一个好主意。我建议您使用标题功能。
无论如何,最好的方法是使用robots.txt。