【发布时间】:2012-07-07 13:43:45
【问题描述】:
每种语言都有不同的域
- www.abc.com
- www.abc.se
- www.abc.de
然后每个站点都有不同的 sitemap.xml。在 robots.txt 中,我想为每个域添加站点地图参考。
- 是否可以在单个 robots.txt 中为每个域提供多个站点地图引用?
- 如果有多个,它会选择哪一个?
【问题讨论】:
标签: seo
每种语言都有不同的域
然后每个站点都有不同的 sitemap.xml。在 robots.txt 中,我想为每个域添加站点地图参考。
【问题讨论】:
标签: seo
robots.txt 只能通知搜索引擎其自身域的站点地图。因此,当它抓取该域的 robots.txt 时,它将是唯一一个它尊重的人。如果所有三个域都映射到同一个网站并共享一个 robots.txt,那么搜索引擎将有效地找到每个站点地图。
【讨论】:
在所有域重定向和 www 到非 www 重定向之后,我在 .htaccess 中使用以下解决方案。
# Rewrite URL for robots.txt
RewriteRule ^robots\.txt$ robots/%{HTTP_HOST}.txt [L]
在您的根目录中创建一个名为 robots.txt 的新目录。 创建一个文本文件,其中包含每个域的特定机器人信息。
【讨论】:
根据Hans2103 的回答,我写了这篇文章,应该可以安全地包含在几乎每个网络项目中:
# URL Rewrite solution for robots.txt for multidomains on single docroot
RewriteCond %{REQUEST_FILENAME} !-d # not an existing dir
RewriteCond %{REQUEST_FILENAME} !-f # not an existing file
RewriteCond robots/%{HTTP_HOST}.txt -f # and the specific robots file exists
RewriteRule ^robots\.txt$ robots/%{HTTP_HOST}.txt [L]
这个重写条件应该只服务于正常的robots.txt(如果它存在)并且只查找具有指定文件robots/<domain.tld>.txt 的robots/ 目录。
【讨论】: