不要在多个域上托管某些页面

时间:2013-08-07 19:09:53

标签: .htaccess robots.txt web-crawler robot

我有一个托管帐户,其中包含2个域名,网站通过阅读正在使用的域名显示不同的内容。

Google会抓住这个并将这两个域列为不同的网站。

所以我们在Google上列出了这些: - www.blue.com/index.php
www.pink.com/index.php

然后假设我有另一个页面我只想在蓝色域名:www.blue.com/test.php,因为域名停放在www.pink.com/test.php

这意味着它会被蜘蛛攻击,我不希望它这样做。

我该怎么办?

根据域名,是否可以有多个htaccess规则?或者也许是robots.txt来阻止蜘蛛 - 这对多个域有什么作用?

对我来说最好的解决方案是什么?

1 个答案:

答案 0 :(得分:1)

重定向到.htaccess中不同的特定于域名的机器人_(蓝色|粉红色).txt:

<IfModule mod_write.c>

  RewriteEngine on

  # internal redirect to robots_blue.txt
  RewriteCond %{HTTP_HOST} =www.blue.com
  RewriteRule ^robots\.txt$ /robots_blue.txt [L]

  # internal redirect to robots_pink.txt
  RewriteCond %{HTTP_HOST} =www.pink.com
  RewriteRule ^robots\.txt$ /robots_pink.txt [L]

  # internal redirct to index_blue.php, rewrite internal only 
  RewriteCond %{HTTP_HOST} =www.blue.com
  RewriteRule ^index\.php$ /index_blue.php [L]  # or "... /index.php?site=blue"

  # external permanent redirect of test.php to index.php if not www.blue.com  
  RewriteCond %{HTTP_HOST} !=www.blue.com
  RewriteRule ^test\.php$ /index.php [L,R=301] 

  # internal redirect
  RewriteCond %{HTTP_HOST} =www.pink.com
  RewriteRule ^index\.php$ /index_pink.php [L]

robots_blue.txt,请勿在www.blue.com中抓取test.php:

User-agent: *
Sitemap: http://www.blue.com/sitemap.xml

Disallow: /test.php
Disallow: ...

robots_pink.txt,www.pink.com允许抓取:

User-agent: *
Sitemap: http://www.blue.com/sitemap.xml

Disallow:

如果www.blue.com的Disallows与www.pink.com相同,则只需使用robots_blue.txt作为robots.txt。如果www.pink.com中没有使用test.php,它应该可以工作。

但是如果要在robots.txt中使用sitemap.xml,这应该是一个解决方案。