2013-08-27 94 views
0

如果我想阻止访问我的服务器中的所有.py文件,但允许与该.py文件位于同一文件夹中的所有文件,我应该在我的robot.txt中放入什么?这是我有权,现在:在robot.txt中阻止访问

User-Agent: *  
Disallow: /*_.py 
+0

为什么'* _。py?'你不想'* .py'? – Blender

+0

该文件必须命名为“robots.txt”,而不是“robot.txt”。 – unor

回答

1

根据this pagethis one,特定搜寻器/机器人(例如Googlebot和MSNBot)确实支持在“Disallow:”行中使用星号(*)。

例如,如果你想阻止你的.py文件Googlebot的,你会使用:

User-agent: Googlebot 
Disallow: /*.py$ 

美元符号($)指定文件名末尾(包括扩展名)。请注意,Googlebot-Image和MSNBot也遵循此语法。但是,由于我无法找到其他搜寻器支持此功能的信息,因此您可能需要指定本帖中提到的“用户代理”的语法。

当然,从长远来看,找到一个通用解决方案会更好,但这可能是一个快速解决方案。

2

没有“定义标准” robots.txt文件,但聚集在http://www.robotstxt.org/大量的信息。

http://www.robotstxt.org/robotstxt.html,它指出:

具体来说,你不能有像行 “用户代理:*机器人*”, “禁止:/ tmp目录/ *” 或 “不允许:* .gif注意” 。

虽然有些爬虫允许通配符,如果你想有一个可靠的解决方案你最安全的选择将是假设没有履带会采取你Disallow:线进去了,建议你找一个替代解。否则,你将实施一个解决方案,将有一些搜索引擎的支持,同时让你的网站向其他人开放。