如何在 Apache 上创建一个附加到每个域自己的 robots.txt 的全局 robots.txt?

Gai*_*aia 1 robots.txt web-crawler apache-2.2

我知道可以为 Apache 服务器上的所有域创建一个 robots.txt 文件*,但我想附加到每个域的(如果预先存在)robots.txt。我希望为所有域制定一些通用规则,但我需要允许不同的域具有其独特的规则。

有没有办法做到这一点?

(*在我的情况下是 Apache 2.2.x)

200*_*ess 5

从 Apache 的角度来看,robots.txt它只是一种需要服务的资产。您可以robots.txt通过将其传递给输出过滤器来更改请求时返回的内容。

如果你想附加一些文本,你可以定义一个外部过滤器。假设 Apache 在类 Unix 操作系统上运行,过滤器配置可以是

ExtFilterDefine appendRobotstxt cmd="/bin/cat - /var/www/html/robots-tail.txt"
<Location /robots.txt>
    SetOutputFilter appendRobotstxt
</Location>
Run Code Online (Sandbox Code Playgroud)

这将连接robots-tail.txt到响应的末尾。