我正在寻找最好的解决方案我如何能确保我这样做正确:的robots.txt和谷歌日历
我有我的网站上一个日历,用户在其中可以采取的iCal日历和饲料将其导入到其偏好的外部日历中(Outlook,iCal,Google日历等)。
为了阻止坏人从* .ics文件抓取/搜索我的网站,我已经设置Robots.txt以禁止存储订阅源的文件夹。
所以,从本质上讲,一个iCal供稿可能看起来像:WebCal中://www.mysite.com/feeds/cal/a9d90309dafda390d09/feed.ics
我明白上面是仍然公开网址。但是,我有一个功能,用户可以根据需要更改其Feed的地址。
我的问题是:除Google日历外,所有外部日历在导入/订阅日历Feed时都没有问题。它会抛出以下消息:由于robots.txt限制,Google无法抓取该网址。 Google's Answer to This。
因此,围绕搜索后,我发现了以下工作:
1)安装一个PHP文件(我用的),基本上强制下载的文件。它基本上是这样的:
<?php
$url = "/home/path/to/local/feed/".$_GET['url'];
$file = fopen ($url, "r");
if (!$file) {
echo "<p>Unable to open remote file.\n";
exit;
}
while (!feof ($file)) {
$line = fgets ($file, 1024);
print $line;
}
fclose($file);
?>
我试过使用这个脚本,它似乎与谷歌日历一起工作,没有问题。 (虽然我不确定它是否会更新/刷新,但我仍然在等待看看它是否有效)。
我的问题是这样的:有没有更好的方法来处理这样的问题?我想保留当前的Robots.txt,以便不允许抓取* .ics文件的目录并隐藏文件。
的robots.txt谷歌的网站管理员工具帮助页面,大多数主要的搜索引擎爬虫会履行一个完全自愿的机制,但恶意用户将完全忽略(实际上,作为源使用如果您实际上锁定了您网站上的特定网址,请抓取地点) – 2011-01-14 03:41:38