2011-10-10 57 views
0

這裏是我的.htaccess文件的例子重寫規則:塊重寫規則中的robots.txt

RewriteRule ^ABC$ index.php?partner_id=123&utm_source=partner&utm_medium=link&utm_campaign=ABC [L] 

所以http://mywebsite.com/123將指向index.php?partner_id=123&utm_source=partner&utm_medium=link&utm_campaign=ABC

index.php文件是一個非常重要的一頁被正確索引搜索引擎,但我想阻止http://mywebsite.com/123被索引,而不影響http://mywebsite.com/http://mywebsite.com/index.php被索引。

任何幫助將是偉大的。

回答

0

如果你想阻止http://mywebsite.com/123,但允許http://mywebsite.com/123index.php,那麼你就需要一個AllowDisallow

User-agent: * 
Allow: /123index.php 
Disallow: /123 

這將禁止任何與/123啓動,但特別允許/123index.php

標準robots.txt語法不允許您禁止特定的URL。相反,它不允許以您指定的模式開頭的網址。

Google和Bing(以及其他一些人)對標準語法有一些擴展。使用谷歌的$支持通配符,你可以寫:

Disallow: /123$ 

這將阻止只是一個URL。其他搜尋器可能會或可能不會支持該語法。響應

注評論:

如果我理解正確的,您的評論之後,要允許http://mywebsite.com/index.php,但阻止http://mywebsite.com/123。如果你知道有沒有其他與/123開始的資源,那麼你可以這樣寫:

Disallow: /123 

這將阻止任何以/123開始。例如,/123/file.html/123abc。如果有/123啓動其他資源,並要允許它們,那麼你需要:

Disallow: /123$ 

但要知道,谷歌和也許必應尊重通配符。許多其他爬蟲不會。

+0

對不起應該是http://mywebsite.com/index.php不是http://mywebsite.com/123index.php – user988256

+0

@ user988256:看到我的更新回覆。 –