1

我需要禁止索引 2 个页面,其中一个是动态的:
site.com/news.php
site.com/news.php?id=__
site.com/news-all.php

我应该在 robots.txt 中写什么:

User-agent: *  
Disallow: /news 

或者

Disallow: /news* 

或者

Disallow: /news.php*  
Disallow: /news-all.php 

最后是否应该使用通配符?

4

3 回答 3

2
User-agent: *
Disallow: /news.php?id=*

User-agent: *
Disallow: /news-all.php

更多信息在这里

编辑:

第一条规则将允许 news.php 带参数但允许 news.php 不带 ?id=__。如果你不想抓取 news.php 那你必须使用 /news.php*

于 2009-10-03T14:27:44.920 回答
1

当然

Disallow: /news.php
Disallow: /news-all.php

是正确的。如果您有完整的文件名,则不需要星号。虽然对我来说很有趣

Disallow: /news*

方法可以工作。

于 2009-10-03T14:37:32.287 回答
1

robots.txt 中的 Allow 和 Disallow 行表示“允许(或禁止)任何以开头的内容”。

所以:

Disallow: /news.php

是相同的

Disallow: /news.php*

当然,前提是读取 robots.txt 的机器人理解通配符。如果机器人不理解通配符,那么它会将星号视为实际文件名的一部分。

行尾的星号是多余的,并且有潜在危险。

于 2009-10-03T15:48:45.073 回答