[英]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.