[英]robots.txt in subdirectory
我有一个位于主域下的文件夹中的项目,但我无权访问域本身的根目录。
http://mydomain.com/myproject/
我想禁止在子文件夹“禁止”上建立索引
http://mydomain.com/myproject/forbidden/
我可以简单地将 robots.txt 放在 myproject 文件夹中吗? 即使根目录中没有 robots.txt,它也会被读取吗?
禁止禁止文件夹的正确语法是什么?
User-agent: *
Disallow: /forbidden/
或者
User-agent: *
Disallow: forbidden/
来自robotstxt.org :
把它放在哪里
简短的回答:在您的Web服务器的顶级目录中。
答案越长:
当机器人查找URL的“/robots.txt”文件时,它会从URL中剥离路径组件(来自第一个单斜杠的所有内容),并将“/robots.txt”放在其位置。
例如,对于“ http://www.example.com/shop/index.html ,它将删除”/shop/index.html“,并将其替换为”/robots.txt“,最终将以“ http://www.example.com/robots.txt ”。
因此,作为网站所有者,您需要将其放在Web服务器上的正确位置,以便生成该URL。 通常,这是您放置网站主要“index.html”欢迎页面的位置。 究竟是什么,以及如何将文件放在那里,取决于您的Web服务器软件。
请记住使用全文小写作为文件名:“robots.txt”,而不是“Robots.TXT。
所以我害怕答案是你必须把它放在根文件夹中:-(
关于你的第二个问题,我认为正确的语法是以正斜杠开头的语法(例如/forbidden/
)。
你不能不幸。 Robots.txt只能在域的根目录下。
也许如果你问领域的所有者,他会有责任吗?
第一种语法是正确的语法,但请记住它必须是来自域根的绝对路径。
如果您没有root,则可以使用“robots meta tag”。
https://developers.google.com/webmasters/control-crawl-index/docs/robots_meta_tag
实际上,我可以在子文件夹中看到robots.txt上的各种机器人的请求,这总是会导致404错误。 只是其中一些机器人:
因此,如果您想阻止这些用dumb 404错误向您的错误日志发送垃圾邮件,您可以通过.htaccess将这些请求重定向到正确的位置:
RewriteRule .+/robots.txt$ /robots.txt [R=301,L]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.