我似乎无法正确配置nginx以返回robots.txt内容.理想情况下,我不需要该文件,只想提供直接在nginx中配置的文本内容.这是我的配置:
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /usr/share/nginx/html;
index index.html index.htm;
server_name localhost;
location = /robots.txt {
#return 200 "User-agent: *\nDisallow: /";
#alias /media/ws/crx-apps/eap/welcome-content/robots.txt;
alias /usr/share/nginx/html/dir/robots.txt ;
}
location / {
try_files $uri $uri/ =404;
}
}
= /robots.txt位置中的所有内容都不起作用,我不明白为什么.访问http://localhost/robots.txt会得到404.但是,正确提供了http://localhost/index.html.
请注意,除了添加新位置(用于测试)之外,我没有更改从apt-get install nginx获得的nginx的任何默认设置.
最佳答案
首先,我认为配置中的问题是用于匹配的正则表达式.在配置中编写这样的语句非常有用,以防止模式匹配可能出现的错误:
location = /robots.txt {
alias /usr/share/nginx/html/dir/robots.txt;
}
其次,您还应该检查/usr/share/nginx/html/dir/robots.txt的权限和有效所有者.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。