我在我的 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 规则正在运行。
我有另一个(较旧的)服务器,它具有完全相同的设置(root 拥有的 /home/robots.txt),它适用于所有虚拟主机及其用户。
我想知道 myvirtualhost.com/robots.txt 是否以 myvirtualhost 用户身份运行,因此无法访问 /home/robots.txt 但不确定,因为我认为我的旧服务器没有为此设置任何特殊权限... (不记得了)。
如果我删除 /home/robots.txt 我仍然会收到 403 Permission 错误,而不是找不到。
我有多个虚拟主机,所以不能只将其更改为 /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 小时内解决 :-)
将此添加到 apache.conf 文件中(并且需要全部授予,而不是允许形式全部作为运行最新版本的 apache):