所以我为我的域创建了一个CNAME
。例如。:
mycname.domain.com
但是所有带有
CNAME
的url都会显示在搜索引擎中。如何防止这些URL被爬网?我想我必须编辑robots.txt
文件,但不是100%确定。 最佳答案
这有点棘手,因为它的aCNAME
没有物理根文件夹,所以不能真正使用arobots.txt
。因此,您必须使用这样的.htaccess
来做一些工作:
RewriteCond %{HTTP_HOST} ^mycname.domain.com$ [NC]
RewriteRule ^robots\.txt$ /robots-mycname.txt [NC,L]
上面的规则将把
CNAME
robot重定向到它的文件,这样它就不会与当前的域robot文件冲突。现在创建一个名为
robots-mycname.txt
的文件,其中包含以下内容:User-agent: *
Disallow:
这意味着不允许任何机器人,不幸的是并非所有机器人都尊重
robots.txt
文件,所以请记住这一点。另一种方法是简单地拒绝对
CNAME
的请求,如下所示:RewriteCond %{HTTP_HOST} ^mycname.domain.com$ [NC]
RewriteRule ^ - [F]
您还可以通过设置如下特定用户代理来进一步改进:
RewriteCond %{HTTP_HOST} ^mycname.domain.com$ [NC]
RewriteCond %{HTTP_USER_AGENT} Googlebot [NC]
RewriteRule ^ - [F]
You can also make a list like this...
The simplest way to resolve this issue is to add to your pages the canonical tag, you can read more about it here...
下面是一个例子,说明在这种情况下您将向页面添加什么:
<link rel="canonical" href="http://main-domain.com/blog/some-page" />
但是,这需要对所有受影响的页面进行操作,如果您使用的是像WordPress、Drupal等CMS,则有插件可以自动为您执行此操作。
关于php - 在搜索引擎中隐藏cname,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25567575/