小编Doc*_*oot的帖子

robots.txt 中的 User-Agent 行是完全匹配还是子字符串匹配?

当爬网程序读取 robots.txt 文件的 User-Agent 行时,它是否尝试将其与自己的 User-Agent 完全匹配,还是尝试将其作为其 User-Agent 的子字符串进行匹配?

我读过的所有内容都没有明确回答这个问题。根据另一个 StackOverflow 线程,这是完全匹配的。

然而,RFC 草案让我相信这是一个子字符串匹配。例如,User-Agent: Google将匹配“Googlebot”和“Googlebot-News”。以下是 RFC 的相关引用:

机器人必须遵守/robots.txt包含 User-Agent 行的第一条记录,该行的值包含机器人的名称标记作为子字符串。

此外,在Googlebot 文档的“用户代理的优先顺序”部分中,它解释了 Google 图片的用户代理“ Googlebot-Image/1.0”与User-Agent: googlebot.

我希望这里能有任何澄清,答案可能比我的问题更复杂。例如,Eugene Kalinin 的节点机器人模块提到在第 29 行拆分用户代理以获取“名称令牌”并与之匹配。如果这是真的,那么Googlebot 的用户代理Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)”将不匹配User-Agent: Googlebot

user-agent robots.txt web-crawler

6
推荐指数
1
解决办法
1857
查看次数

在我的本地XAMPP服务器上禁用输出缓冲

由于某种原因,我的XAMPP服务器正在缓冲PHP的输出。我希望它随其吐出。任何人有什么想法我需要更改以实现此设置?

php output-buffering

5
推荐指数
1
解决办法
1万
查看次数

如何在Apache中启用mod_info?

我已经浏览了Apache指南以启用mod_info.

根据文件:

在我的情况下,此链接不提供任何信息.有什么我需要安装为mod_info.c或什么?有什么我需要作为AddModule或什么?

apache apache2 apache2.2 apache-modules

3
推荐指数
1
解决办法
9195
查看次数

带有可选参数的正则表达式多个 URL,有些需要反向引用,有些不需要

我有一组 URL,我正在为其进行 301 重定向(使用 Nginx,我认为它的 Regex 引擎使用 PCRE)。这是所需内容的简化版本:

  • /old/
    • 重定向到 /new/
  • /old/1234/
    • 重定向到 /new/1234/
  • /old/1234/foo/
    • 重定向到 /new/1234/foo/
  • /old/1234/bar/
    • 重定向到 /new/1234/bar/
  • /old/1234/expired/
    • 重定向到 /new/1234/

即对此的过度简化可能是说/old/(.*)重定向到/new/$1,除非 url 的最后一部分是/[0-9]+/expired/,在这种情况下它只会上升一个级别。(除非我真的需要使用foo,bar expired1234与 URL 匹配的部分使其更具体)。

如果可能,我想在一个正则表达式中涵盖所有这些,而不是为每个变体设置多个规则。

所以到目前为止我的正则表达式Nginx.conf是这样的:

location ~* ^/old/(([0-9]+/)expired/)?|([0-9]+/(foo|bar/)?)?$ {
    return 301 /new/$1;
}
Run Code Online (Sandbox Code Playgroud)

显然这是不对的。总之:

  • 我想只是/[0-9]+/如果URL结尾部分/expired/
  • 以及以 foo 或 bar 结尾的全部/[0-9]+/foo//[0-9]+/bar/部分。
  • /[0-9]+/如果这就是它的结尾,那只是一部分。
  • 如果它刚刚结束,/old/那么只需重定向到/new/

regex nginx

2
推荐指数
1
解决办法
5070
查看次数