为 Apache 服务器上的所有域创建 robots.txt 文件,但收到权限错误

为 Apache 服务器上的所有域创建 robots.txt 文件,但收到权限错误

我在 Ubuntu 服务器上创建了一个“全局” robots.txt 文件,并将其位于

/home/robots.txt

然后在 /etc/apache2/apache.conf 底部添加以下内容:

Alias /robots.txt /home/robots.txt

并重新启动apache。

但是,当我尝试访问 myvirtualhost.com/robots.txt 时,出现 403 Forbidden 错误。

/home/robots.txt 由“root”拥有,chmod 755(测试为 777 也出现错误)。

如果我将 Alias /robots.txt /home/robots.txt 更改为 Alias /robots.txt /home/myvirualhost/public_html/robots.txt,它就可以起作用 - 即确认此 Alias 规则正在运行。

我有另一台(较旧的)服务器,它具有完全相同的设置(/home/robots.txt 由 root 拥有),并且它适用于所有虚拟主机及其用户。

我想知道 myvirtualhost.com/robots.txt 是否以用户 myvirtualhost 身份运行,因此无法访问 /home/robots.txt,但不确定,因为我认为我的旧服务器没有为此设置任何特殊权限...(不记得了)。

如果我删除 /home/robots.txt ,我仍然会收到 403 权限错误,而不是未找到。

我有多个虚拟主机,因此不能将其更改为 /home/myonevirualhost/public_html/robots.txt

非常感激任何的帮助。

谢谢

解决了:

将其添加到 apache.conf 文件中(并且需要在运行最新版本的 apache 时要求全部授予而不是允许所有):

**<Location "/robots.txt">
    SetHandler None
    Require all granted
</Location>**
Alias /robots.txt /home/robots.txt

但我还不能将其标记为已解决,因为我没有足够的积分在 8 小时内解决:-)

答案1

将其添加到 apache.conf 文件中(并且需要在运行最新版本的 apache 时要求全部授予而不是允许所有):

<Location "/robots.txt">
 SetHandler None
 Require all granted
</Location>
Alias /robots.txt /home/robots.txt

相关内容