【发布时间】:2009-07-24 09:57:04
【问题描述】:
我正在尝试编写一个 sitemap.php,它会根据正在查看的人而有所不同。
我想将爬虫重定向到我的 sitemap.xml,因为这将是最新的页面,并且将包含他们需要的所有信息,但我希望我的普通读者在 php 页面上显示一个 html 站点地图。
这一切都将在 php 标头中进行控制,我在网上找到了this code,看起来应该可以,但事实并非如此。谁能帮我破解这个?
function getIsCrawler($userAgent) {
$crawlers = 'firefox|Google|msnbot|Rambler|Yahoo|AbachoBOT|accoona|' .
'AcioRobot|ASPSeek|CocoCrawler|Dumbot|FAST-WebCrawler|' .
'GeonaBot|Gigabot|Lycos|MSRBOT|Scooter|AltaVista|IDBot|eStyle|Scrubby';
$isCrawler = (preg_match("/$crawlers/i", $userAgent) > 0);
return $isCrawler;
}
$iscrawler = getIsCrawler($_SERVER['HTTP_USER_AGENT']);
if ($isCrawler) {
header('Location: http://www.website.com/sitemap.xml');
exit;
} else {
echo "not crawler!";
}
看起来很简单,但正如你所见,我已将 firefox 添加到代理列表中,果然我没有被重定向..
感谢您的帮助:)
【问题讨论】:
标签: php web-crawler