2011-02-05 53 views
11

我有dev.qrcodecity.com和www.qrcodecity.com。我希望Google删除dev子域的所有记录,但保留www。我使用git来存储他们两个的代码,所以理想情况下我希望他们都有相同的robots.txt文件。是否有可能有一个robots.txt文件排除子域?使用robots.txt禁止或禁止子域名

回答

5

对不起,这很可能是不可能的。一般规则是每个子域都被分开处理,因此都需要robots.txt文件。

通常使用子文件夹通过url重写来实现子域,该子文件夹可以执行要在子域之间共享单个robots.txt文件的映射。这里有一个很好的讨论如何做到这一点:http://www.webmasterworld.com/apache/4253501.htm

但是,在你的情况下,你需要不同的行为,每个子域将要求单独的文件。

+0

每个子域需要一个robots.txt(请参阅https://youtu.be/G29Zt-UH_Ko) – JVerstry 2015-09-09 18:56:58

28

你可以使用Apache重写逻辑供职于开发领域不同robots.txt

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteCond %{HTTP_HOST} ^dev\.qrcodecity\.com$ 
    RewriteRule ^robots\.txt$ robots-dev.txt 
</IfModule> 

,然后创建一个单独的robots-dev.txt

User-agent: * 
Disallow:/
3

请记住,如果你从阻止谷歌索引子域下的页面,他们不会(通常)立即退出Google索引。它只是阻止Google重新编制这些网页的索引。

如果dev子域尚未启动,请确保它有自己的robots.txt禁止所有内容。但是,如果dev子域已经有索引的页面,那么您首先需要使用机器人noindex元标记(这要求Google最初抓取页面以读取此请求),然后将robots.txt文件设置为一旦页面已经从Google索引中删除(设置Google网站管理员工具帐户 - 这有助于解决这个问题)开发子域名。

-1

在发球上每个子域处理本身作为一种独立的域名,如果你发现一些免费网站制造商允许你主持你的网站对他们的供应以类似yourname.websitemake.com域名。结果,每个网站都在搜索引擎上单独编制索引。

因此,您可以做的是做到这一点,您可以在子域的文件夹中添加一个新的“robots.txt”,并提及以下内容以禁止搜寻器将您的子域编入索引。

User-agent: * 
Disallow:/