我在 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