2014-08-29 60 views
2

所以我創建了一個CNAME爲我的域名。例如:從搜索引擎隱藏cname

mycname.domain.com 

但是所有包含CNAME的網址都顯示在搜索引擎中。如何防止抓取這些網址?我想我必須編輯robots.txt文件,但不能100%確定。

+0

在robots.txt中添加限制,使其無法訪問這些網址 – Aboca 2014-08-29 11:43:32

+0

或者過濾googlebot用戶代理並給他403 – MightyPork 2014-08-29 11:56:22

回答

1

這有點棘手,因爲它的CNAME沒有物理根文件夾,所以你不能真正使用robots.txt。所以,你必須做一些工作的周圍使用.htaccess這樣的:

RewriteCond %{HTTP_HOST} ^mycname.domain.com$ [NC] 
RewriteRule ^robots\.txt$ /robots-mycname.txt [NC,L] 

以上規則將重定向CNAME機器人的文件,以便它不會與當前域機器人文件衝突。

現在,您創建一個名爲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" /> 

然而,這需要做的所有受影響的網頁,如果您使用的是CMS像WordPress,Drupal等等,有插件可以自動爲你做。

+0

感謝您的回答,但是我爲什麼被低估了,有點困惑?我是新的,即使它確實有其他人的輸入,它看起來也是正確的。 Downvoting使得這個答案看起來對任何未來的讀者來說都是錯誤的... – user3345992 2014-08-29 14:14:41

+0

這個答案對於開發者服務器來說是一個很好的解決方案,就像我的情況一樣,所以我真的不明白爲什麼它被低估了。 +1 – 2015-03-26 09:09:58