我已经检查了类似的问题,但我认为这个具体的案例还没有被问到和回答。
我想阻止所有页面参数大于10的url(我可能会选择一个小于10的值)。
Disallow: /events/world-wide/all-event-types/all?page=11
Allow : /events/world-wide/all-event-types/all?page=3
我有很多类似的url,其中其他"参数"可以随一些列表更改,这些列表有近150页。
Disallow: /events/germany/triathlon/all?page=13
Allow : /events/germany/triathlon/all?page=4
如果不列出所有的url(这基本上是不可能的),我怎么能做到这一点呢
请让我在这里再次强调page参数在这里是很重要的。
我可以这样做:
Disallow: *?page=
Allow: *?page=(1-10)
正确的方法是什么?
robots.txt "regEx"语法是相当有限的,所以不幸的是它可能导致不必要的大robots.txt文件。尽管其他答案解决了主要用例,但您可能还需要考虑添加一些变体来解释其他参数的变换。
Disallow: *?page=
Disallow: *&page=
Allow: *?page=1$
Allow: *?page=2$
Allow: *?page=3$
...
Allow: *?page=1&
Allow: *?page=2&
Allow: *?page=3&
...
Allow: *&page=1&
Allow: *&page=2&
Allow: *&page=3&
....
您可以这样使用:
Allow: /*?page=1
Allow: /*?page=2
Allow: /*?page=3
Allow: /*?page=4
Allow: /*?page=5
Allow: /*?page=6
Allow: /*?page=7
Allow: /*?page=8
Allow: /*?page=9
Allow: /*?page=10
Disallow: /*?page=1*
Disallow: /*?page=2*
Disallow: /*?page=3*
Disallow: /*?page=4*
Disallow: /*?page=5*
Disallow: /*?page=6*
Disallow: /*?page=7*
Disallow: /*?page=8*
Disallow: /*?page=9*
所以我们允许页数从1到10并且不允许大于10的页面
你可以在那里阅读谷歌文档
感谢@Bazzilio的努力,但是我们程序员都很懒,尽量避免写代码。我现在能想到的最好的方法是下面的
Disallow: *?page=
Allow: *?page=1$
Allow: *?page=2$
Allow: *?page=3$
Allow: *?page=4$
....
但是没有一种方法可以组合Allow语句吗?