2

谁能告诉我如何从链接到主域的谷歌索引中删除子域。

假设我的域是 www.myweb.com,我的子域是 cdn.myweb.com。现在这里子域的文档根与主域相同。所以我不能使用robot.txt 来停止谷歌索引,因为它也会删除主域链接的索引。

我也在 google、bing 和 stackoverflow 上搜索,但我找不到这个问题的完美答案。有没有从你这边解决?

4

3 回答 3

4

为此,您可以使用动态 robots.txt。像这样的东西...

httpd.conf (.htaccess):

RewriteRule /robots\.txt$ /var/www/myweb/robots.php

机器人.php:

<?php
header('Content-type: text/plain');

if($_SERVER['HTTP_HOST']=='cdn.myweb.com'){ 
    echo "User-agent: *\n";
    echo "Disallow: /\n";
}else{              
    include("./robots.txt");    
}
于 2013-02-18T12:25:46.877 回答
2

我正在使用 nginx,并且在同一个服务器块中有多个子域。我希望将www子域包含在 google 的索引中,并将其余子域排除在外。

首先,在我的 nginx 配置的服务器块中,我添加了以下内容以根据域在 /robots.txt 提供 2 个不同的文件。

location ~ /robots.txt {
    if ($host = 'www.example.com') {
      rewrite ^/robots\.txt /robots.www.txt last;
    }
  }

然后在我网站的根目录下,有以下2个文件:

  • robots.txt阻止抓取,是所有子域的默认设置
# Do not crawl subdomain
User-Agent: *
Disallow: /
  • robots.www.txt允许抓取所有网站,并且仅在www.example.com/robots.txt提供
User-agent: *
Disallow:
于 2013-02-21T11:25:52.227 回答
0

首先是添加 robots.txt,但在我的情况下,因为我的页面已经被 CDN 子域编入索引,所以对于机器人来说为时已晚。我发现最好的方法是转到 Google 网站管理员工具,添加我的 cdn 域 ( cdn.mysite.com )。然后转到 Google index -> Remove URLs 并删除/ url。过了几天才生效。

于 2013-10-09T22:12:37.277 回答