Apache robots.txt中不允许数字URL的范围

Apache robots.txt中不允许数字URL的范围,apache,robots.txt,Apache,Robots.txt,我想禁止带有url参数和数字顺序的robots txt的url。 我有一个带有GET参数的网站,如: example.com/show?id_item=1 到 禁止从id_项目1到500。 有可能在robots.txt中不允许一个范围内的“id\u item”没有写入数吨(在这种情况下为500)的行?不,在robots.txt中真的没有办法做到这一点,除了有500行,每个数字对应一行。(不是建议!)最接近的是通配符扩展名“*”,但它将匹配由任何字符组成的任意长度的字符串。无法匹配特定的数字模式

我想禁止带有url参数和数字顺序的robots txt的url。 我有一个带有GET参数的网站,如:

example.com/show?id_item=1

禁止从id_项目1到500。
有可能在robots.txt中不允许一个范围内的“id\u item”没有写入数吨(在这种情况下为500)的行?

不,在robots.txt中真的没有办法做到这一点,除了有500行,每个数字对应一行。(不是建议!)最接近的是通配符扩展名“*”,但它将匹配由任何字符组成的任意长度的字符串。无法匹配特定的数字模式,而这正是匹配数字范围所需的

如果您的目标是将这些页面排除在搜索引擎之外,那么最好的方法是添加代码,以便在id位于目标范围内时有选择地阻止这些页面


如果您的目标是完全防止对页面进行爬网(例如减少服务器负载),那么您就不走运了。您必须在阻止所有这些内容(使用
Disallow:/show?id_item=
)或不阻止任何内容之间进行选择。

不,使用robots.txt真的没有办法做到这一点,只有500行,每个数字对应一行。(不是建议!)最接近的是通配符扩展名“*”,但它将匹配由任何字符组成的任意长度的字符串。无法匹配特定的数字模式,而这正是匹配数字范围所需的

如果您的目标是将这些页面排除在搜索引擎之外,那么最好的方法是添加代码,以便在id位于目标范围内时有选择地阻止这些页面


如果您的目标是完全防止对页面进行爬网(例如减少服务器负载),那么您就不走运了。您必须在阻止所有选项(使用
禁止:/show?id_item=
)或不阻止任何选项之间进行选择。

这取决于范围。您的示例很简单(1到999,不允许1到500):

这不允许任何以“1”、“2”、“3”、“4”或“500”开头的id_项

这样的URL将被禁止:

https://example.com/show?id_item=1
https://example.com/show?id_item=19
https://example.com/show?id_item=150
https://example.com/show?id_item=1350
https://example.com/show?id_item=1foo
如果您期望ID高于999,它就不再像那样工作了(因为像“1001”这样的ID也是不允许的)。您可能需要使用
Allow
(但此功能不是原始robots.txt规范的一部分,因此不一定得到所有使用者的支持),并且列表会变长

根据范围的不同,
$
可能会有用。它表示URL的结尾(但这也是一个功能,它不是原始robots.txt规范的一部分,因此并非所有robots.txt解析器都支持它)。例如,以下行将仅阻止ID“500”:


这取决于射程。您的示例很简单(1到999,不允许1到500):

这不允许任何以“1”、“2”、“3”、“4”或“500”开头的id_项

这样的URL将被禁止:

https://example.com/show?id_item=1
https://example.com/show?id_item=19
https://example.com/show?id_item=150
https://example.com/show?id_item=1350
https://example.com/show?id_item=1foo
如果您期望ID高于999,它就不再像那样工作了(因为像“1001”这样的ID也是不允许的)。您可能需要使用
Allow
(但此功能不是原始robots.txt规范的一部分,因此不一定得到所有使用者的支持),并且列表会变长

根据范围的不同,
$
可能会有用。它表示URL的结尾(但这也是一个功能,它不是原始robots.txt规范的一部分,因此并非所有robots.txt解析器都支持它)。例如,以下行将仅阻止ID“500”:


正如我在文章中所读到的“每个爬虫可以强制执行最大文件大小。超过最大文件大小的内容可能会被忽略。谷歌目前强制执行500 KB(KB)的大小限制。”。为什么不推荐一个500行的robots.txt?我主要是反对它,因为它会把你的robots.txt文件变成一个难看的、难以维护的乱七八糟的文件。这(IMHO)是一个坏主意,因为它很容易错过可能对您的网站造成严重损害的未来问题。正如我在文章中所读到的“每个爬虫可以强制执行最大文件大小。超过最大文件大小的内容可能会被忽略。谷歌目前强制执行500 KB(KB)的大小限制。”。为什么不推荐一个500行的robots.txt?我主要是反对它,因为它会把你的robots.txt文件变成一个难看的、难以维护的乱七八糟的文件。这(IMHO)是一个坏主意,因为它很容易忽略将来可能对站点造成严重损害的问题。
https://example.com/show?id_item=1
https://example.com/show?id_item=19
https://example.com/show?id_item=150
https://example.com/show?id_item=1350
https://example.com/show?id_item=1foo
Disallow: /show?id_item=500$