我似乎无法正确配置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的权限和有效所有者.

dawei

【声明】:唐山站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。