我有一个托管帐户,上面停有 2 个域名,网站通过读取正在使用的域名来显示不同的内容。
Google 会抓取此内容并将这 2 个域列为不同的网站。
所以我们在 Google 上列出了这些:-
www.blue.com/index.php
www.pink.com/index.php
然后假设我有另一个页面,我只想在蓝色域上使用:www.blue.com/test.php,因为域已停放,这仍然可以在 www.pink.com/test.php 上使用
这意味着它会被蜘蛛抓取,但我不希望它这样做。
我怎样才能阻止这个?
是否可以根据域有多个 htaccess 规则?或者也许是一个 robots.txt 来阻止蜘蛛抓取 - 这将如何与多个域一起工作?
对我来说最好的解决方案是什么?
重定向到.htaccess 中不同域特定的 robots_(blue|pink).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 的禁止与 www.pink.com 相同,则只需将 robots_blue.txt 用作两个域的 robots.txt。如果 www.pink.com 中没有使用 test.php,它应该可以工作。
但是如果在 robots.txt 中也使用 sitemap.xml,这应该是一个解决方案。